Android 确定是否模拟某个位置

Android 确定是否模拟某个位置,android,gps,Android,Gps,我正在使用伪造GPS的应用程序来欺骗你的当前位置。我想创建一个应用程序,它会告诉我检索到的位置是假的 如何实现此功能?欢迎任何想法。定位接收器不知道它是模拟位置还是真实位置。定位接收器不知道它是模拟位置还是真实位置。直到NMEA协议2.3版,都无法包含GPS信息源的信息,然而,由于FAA的输入,这已被添加到许多NMEA消息类型中,包括GLL和RMC,它们通常用于通用定位(更多信息,请参阅) 此新字段作为可选字段添加到NMEA消息中,位于所有旧数据字段之后 新的FAA模式指示器(通常称为模式)字段

我正在使用伪造GPS的应用程序来欺骗你的当前位置。我想创建一个应用程序,它会告诉我检索到的位置是假的


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

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

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

直到NMEA协议2.3版,都无法包含GPS信息源的信息,然而,由于FAA的输入,这已被添加到许多NMEA消息类型中,包括GLL和RMC,它们通常用于通用定位(更多信息,请参阅)

此新字段作为可选字段添加到NMEA消息中,位于所有旧数据字段之后

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

  • A=自主模式(几乎是默认模式)
  • D=差分模式(使用差分校正时)
  • E=估计值(通过航位推算或类似技术)
  • M=手动输入
  • S=模拟
  • N=无效
我不太了解FakeGPS应用程序,但如果它只需要一个NMEA消息的文本文件,您可以添加此字段(或者如果它已经存在,只需将值更改为“S”以进行模拟)-请记住同时更改校验和


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

直到NMEA协议的2.3版,都无法包含有关GPS信息源的信息,然而,由于FAA的输入,这已被添加到许多NMEA消息类型中,包括GLL和RMC,它们通常用于通用定位(更多信息,请参阅)

此新字段作为可选字段添加到NMEA消息中,位于所有旧数据字段之后

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

  • A=自主模式(几乎是默认模式)
  • D=差分模式(使用差分校正时)
  • E=估计值(通过航位推算或类似技术)
  • M=手动输入
  • S=模拟
  • N=无效
我不太了解FakeGPS应用程序,但如果它只需要一个NMEA消息的文本文件,您可以添加此字段(或者如果它已经存在,只需将值更改为“S”以进行模拟)-请记住同时更改校验和


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

我已经发布了我的观察结果,以避免GPS和网络欺骗


为了避免GPS和网络欺骗,我发布了我的观察结果


我唯一能想到的是,如果getSpeed()不是0.0,那么它肯定不是假的(我认为…)如果你不是制作模拟位置的人,我想不出其他任何东西了/如果FakeGps在模拟位置对象中设置了速度怎么办?@blackbelt可能设置了,但我把钱花在了它没有设置上。我唯一能想到的是,如果getSpeed()不是0.0,那么它肯定不是假的(我想…)如果你不是制作模拟位置的人,我想不出其他任何东西了/如果伪造GPS在模拟定位对象中设置了速度怎么办?@blackbelt可能设置了,但我把钱花在了它没有设置上。。