We will first try to use this open-source library for the HackRF GPS Spoofing: https://github.com/osqzss/gps-sdr-sim/blob/master/README.md
It's a command line tool so familiarity with the command line will be helpful, let me know if you need help with this. Once compiled, we can transfer the generated .bin file onto the HackRF and begin spoofing a GPS signal. We need to figure out a good way to test that this works.
I'm currently trying to generate the motion files using SatGen v3, you can sign up for the trial here: https://www.labsat.co.uk/index.php/en/satgen-software-trial-request , you can generate an NMEA GGA stream file even with the free trial. I've linked one below called mililani.txt . After compiling the program, the generated .bin file is about 1.3GB, so I can't upload it here, I can link you to my google drive where I have a copy.
Current GPS readings in HH410:
Latitude: 21.17838'N
Longitude: 157.49001'W
Altitude: 88m
GPS Receiver is working on Ubuntu, you need to set up the gpsd (GPS Daemon) config file as follows here:
# Default settings for the gpsd init script and the hotplug wrapper. # Start the gpsd daemon automatically at boot time START_DAEMON="false" # Use USB hotplugging to add new USB devices automatically to the daemon USBAUTO="true" # Devices gpsd should collect to at boot time. # They need to be read/writeable, either by user gpsd or the group dialout. DEVICES="/dev/ttyUSB0" # Other options you want to pass to gpsd GPSD_OPTIONS="-n -G -b" GPSD_SOCKET="/var/run/gpsd.sock" #end of file gpsd
Your GPS daemon may already be running to kill it using the command 'sudo pkill gpsd'. Wait a bit and plug the gps receiver into a USB port and run the command 'gpsd -b /dev/ttyUSB0' (your device will typically be on ttyUSB0, if not, replace it there in the command.
You can use the gpsmon (GPS Monitor) command to get a log of what the GPS receiver is seeing. I needed to do this entire process outside between POST and HOLMES for it to work properly.
As of right now, I can only jam the GPS signal. Brief google searching shows that the HackRF's clock may not be fast enough to properly spoof GPS.