确定某个位置是否被模拟

时间:2012-03-21 14:26:13

标签: android gps

我正在使用FakeGps欺骗您当前位置的应用程序。我想创建一个应用程序,告诉我重新安装的位置是假的。

我如何实现此功能?欢迎任何想法

3 个答案:

答案 0 :(得分:0)

位置接收器不知道它是模拟位置还是真实位置。

答案 1 :(得分:0)

直到NMEA协议的2.3版本,无法包含有关GPS信息来源的信息,但是由于来自FAA的输入,这已被添加到许多NMEA消息类型,包括GLL和RMC通常用于通用定位(有关详细信息,请参阅this document)。

此新字段作为所有旧数据字段后面的可选字段添加到NMEA消息中。

新的FAA模式指示器(通常称为模式)字段包括以下内容:

  • A =自主模式(几乎是默认模式)
  • D =差分模式(使用差分校正时)
  • E =估计(通过航位推算或类似技术)
  • M =手动输入
  • S =模拟
  • N =无效

我对FakeGPS应用程序了解不多,但是如果它只是一个NMEA消息的文本文件,你可以添加这个字段(或者如果它已经存在,只需将值改为“S”进行模拟) - 只需记住同时更改校验和。

解析数据时,您只需要查找此字段,以区分模拟消息和基于GPS的真实信息,此字段很可能是A或丢失(取决于GPS接收器和NMEA协议的版本)支持的)。如果您已经开发了自己的解析器,那么添加此功能非常简单,如果您使用的是第三方解析器,那么这可能会有点困难(希望它已经得到支持)。

答案 2 :(得分:0)

我发布了我的观察以避免GPS和网络欺骗。

Disable / Check for Mock Location (prevent gps spoofing)