数字漫游

GPS 欺骗的工作原理,以及应用为何能检测到它

位置、软件模拟 GPS 和模拟位置标记的实际运作方式,以及为何真实的射频信号能产生无模拟痕迹的真实定位。

更新于 2026-07-10
获取位置的两种路径:软件注入会打上模拟位置标记并被拦截;射频信号则被计算为真实定位

“GPS 欺骗”这个词其实指两种完全不同的操作,而两者的区别,正好解释了为什么有些方法会暴露,有些不会。一种是在软件层面注入一个假坐标;另一种是发射真实的卫星信号。下面分别说明它们怎么工作,以及 App 实际会检查什么。

手机是怎么知道自己位置的

GNSS 接收机(GPS,以及它的“兄弟姐妹” Galileo、GLONASS 和 BeiDou)会接收头顶卫星发出的微弱无线电信号。每颗卫星都会广播自己发出信号的时间;接收机测量每个信号到达所花的时间,换算成距离,然后解算出地球上唯一与所有距离一致的那个点。这个解算出来的点就是你的 定位结果(fix)。手机上所有与位置相关的功能——地图、地理围栏、“附近的人”、游戏——都建立在这个结果之上。

软件模拟 GPS:注入一个坐标

模拟 GPS 的 App 并不触碰无线电信号。它利用操作系统的开发者接口,直接塞给系统一个坐标,然后说“就报这个位置”。这种方式简单、免费,但会留下痕迹。在 Android 上,任何通过这种方式产生的位置都会带上 isFromMockProvider 标记,而且启用它需要打开“开发者选项”和“模拟位置”设置。在 iOS 上,Apple 直接禁止这类 App 上架,所以走软件路线通常需要一台电脑、越狱,或者用短期证书侧载一个 App。

App 为什么能检测到

检测成本通常很低,因为软件路线留下的痕迹太明显:

  • 模拟标记。 一行代码读取 isFromMockProvider;被标记的位置直接丢弃。仅这一项就能拦住绝大多数普通欺骗者。
  • 完整性认证。 Play Integrity(Android)和越狱/开发者模式检测(iOS)会注意到软件路线所必需的被修改过的环境。
  • 交叉验证。 一个做了加固的 App 可以把你的 GPS 定位结果与网络 IP、手机能扫描到的 Wi-Fi 和基站、以及运动传感器数据进行比对,如果 GPS 位置与所有这些信息都不一致,或者位置跳变速度超过人类移动极限,就会被标记。

射频仿真:真实信号,真实定位

AnyLocate 工作在更底层。它不是注入一个坐标,而是向设备自身的接收机广播真实的卫星信号,接收机锁定信号后,按正常流程自己计算出定位结果。在模拟位置这一层,这个结果与真实位置完全无法区分:没有注入坐标,因此没有 isFromMockProvider 标记,不需要模拟位置设置,不需要 root 或越狱,所有常见检测手段都找不到它们要找的东西。位置会落在真实道路上,更新也很平滑,因为这是接收机自己算出来的。

VPN ≠ GPS

一个常见的死胡同:VPN 改变的是你的 IP 地址,而不是你的 GPS 定位结果。Snap Map、Pokémon GO 以及大多数地图功能都忽略 IP,直接读取卫星位置,所以 VPN 在地图上什么也移动不了。要移动地图上的位置,就得移动定位结果,那是 GPS 层面的事,不是网络层面的事。

边界在哪里

诚实说明边界,正是关键所在。控制卫星信号,可以设定所有从 GPS 定位结果衍生出来的东西。但它不会改变你的网络 IP、你的账号或账单区域、手机感知到的 Wi‑Fi 和基站环境,也不会改变你的运动传感器数据。因此,任何依赖这些信息来做判断的功能(与登录账号绑定的区域锁、IP 检测、融合 Wi‑Fi 定位、步数计交叉验证等),都是另一回事。卫星信号层是 AnyLocate 能干净、完整控制的一层;它不会声称自己能控制其他层。

常见问题

什么是模拟位置标记(isFromMockProvider)?
当某个应用通过 Android 开发者选项中的“模拟位置”路径设置你的位置时,操作系统会为其生成的每个定位点附加一个标记 isFromMockProvider。任何应用只需一行代码就能读取该标记,并拒绝信任此位置。这是模拟 GPS 被识破的最廉价、最常见的方式。
为什么 VPN 无法改变我在 Snapchat 或 Pokémon GO 等应用中的位置?
VPN 仅改变你的 IP 地址。地图、游戏和“附近”功能读取的是 GPS 芯片,而非你的 IP,因此手机在 VPN 底层仍会报告其真实的卫星位置,应用跟随的是 GPS,而不是网络。要改变地图位置,就必须改变 GPS 定位本身。
如果 AnyLocate 广播的是真实信号,那么定位是否无法被检测?
在模拟位置层面,是的:不存在 isFromMockProvider 标记,因为没有任何内容通过软件注入;手机自身的接收机计算出了定位。但“无模拟标记”不等于“无任何破绽”:手机还会融合 Wi-Fi 和蜂窝数据,而经过强化的应用可以将 GPS 与这些数据、你的 IP 或运动传感器进行交叉验证。AnyLocate 干净地控制着卫星层;其他层面则是独立的。

相关应用场景

把手机放到地球任意位置,测试定位应用
Pokémon GO 改定位:不触发模拟定位标记
位置隐私:只让人看到你选定的地方
用你自己的信号试一试
在一台你真正负担得起的软件定义 GNSS 仿真器上,跑通这个场景——以及你自己的场景。
查看价格 →