你的跑步打卡真的是真实的吗?
字数 1292 2025-08-09 22:00:37
GPS轨迹伪造与跑步打卡欺骗技术详解
1. 技术背景与原理
1.1 技术背景
本技术最初源于无人机GPS欺骗(Drone Spoofing)项目的研究,通过软件无线电(SDR)发送虚假GPS信号实现位置欺骗。该技术可应用于跑步打卡软件的欺骗,解决iOS设备上传统位置伪造软件(fake location)效果不佳的问题。
1.2 跑步软件记录原理
跑步软件通常记录以下参数:
- 位置和海拔:通过手机GPS模块获取
- 步频:通过手机加速度传感器获取
- 时间:使用系统时间或服务器时间
2. 所需硬件设备
- 计算机:用于运行相关软件
- HackRF One:软件无线电设备,需包含:
- TCXO时钟模块
- 天线
- USB数据线
- Arduino Uno:控制舵机
- 智能手机:目标设备(如iPhone)
- 亚克力手机架:自制或购买,用于固定手机和舵机
3. 所需软件工具
- hackrf_tools:HackRF设备控制工具
- Google Earth:用于规划跑步路线
- SatGen Trajectory Generation:轨迹生成工具
- gps-sdr-sim:GPS信号模拟软件
4. 实施步骤详解
4.1 获取RINEX导航电文
- 访问NASA FTP服务器:
ftp://cddis.gsfc.nasa.gov/pub/gps/data/daily - 找到对应年份的文件夹
- 进入brdc子目录
- 下载对应年积日的导航电文文件(如
brdc3660.16n.z) - 解压得到
.n格式的导航电文文件
4.2 生成跑步轨迹
- 使用Google Earth绘制跑步路线,导出为KML文件
- 使用SatGen Trajectory Generation软件:
- 加载KML文件
- 调整参数模拟真实跑步:
- 速度变化
- 总距离
- 海拔变化
- 生成NMEA格式的轨迹文件
4.3 编译和配置gps-sdr-sim
- 克隆仓库:
git clone https://github.com/osqzss/gps-sdr-sim.git cd gps-sdr-sim - 修改
gpssim.h中的USER_MOTION_SIZE值,增加40-70秒缓冲时间 - 编译:
gcc gpssim.c -lm -O3 -o gps-sdr-sim
4.4 生成并发送GPS信号
- 生成二进制信号文件:
./gps-sdr-sim -e <导航电文文件> -g <轨迹文件> -b 8 -o gpssim.bin - 使用HackRF发送信号:
参数说明:hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 19 -R-f 1575420000:GPS L1频段频率(1575.42MHz)-s 2600000:采样率-a 1:启用增益-x 19:增益值(0-25)
4.5 模拟步频传感器
- 搭建Arduino控制系统:
#include <Servo.h> Servo myservo_1; // 下 Servo myservo_2; // right Servo myservo_3; // left int pos = 0; int potPin = A0; long val = 0; int angle_right = 68; int angle_left = 180; void setup() { Serial.begin(9600); pinMode(potPin,INPUT); myservo_1.attach(8); myservo_2.attach(9); myservo_3.attach(10); myservo_1.write(0); delay(600); } void loop() { val = analogRead(potPin); Serial.print(val); if (val>550){ myservo_3.write(angle_left); delay(10); for (pos = 0; pos <= 180; pos++) { myservo_1.write(pos); delay(8); myservo_2.write(angle_right); delay(10); if(angle_right<85) angle_right++; } for (pos = 180; pos >= 0; pos--) { myservo_1.write(pos); delay(8); myservo_2.write(angle_right); delay(10); if(angle_right>75) angle_right--; } } } - 将手机固定在舵机控制的摇摆架上
5. 技术限制与改进方向
5.1 现有技术限制
- 信号稳定性:无线传播存在不确定性,可能导致位置跳变
- 设备兼容性:对iPhone 11及以上版本可能不适用
- 环境要求:需要在GPS信号弱的室内环境操作
5.2 改进方向
- 开发GUI界面,提高易用性
- 优化信号生成算法,提高稳定性
- 研究新型手机GPS接收特性
- 开发更精确的步频模拟装置
6. 伦理声明
本技术文档仅用于教育和技术研究目的,旨在提高对位置欺骗技术的认识。实际使用此类技术伪造跑步记录可能违反相关平台的使用条款,并可能对个人健康产生负面影响。建议用户通过真实的运动来保持健康。