iOS虚拟定位技术探究( 二 )

使用xcode虚拟定位的 location 代理方法仅执行一次:
2020-09-25 07:41:57.466217+0100 iOSApp[1005:276293] 纬度为:51.509980, 经度为:-0.1337002020-09-25 07:41:57.466404+0100 iOSApp[1005:276293] 高度为:0.0000002020-09-25 07:41:57.466511+0100 iOSApp[1005:276293] 水平精确度:5.000000, 垂直精确度:-1.000000多次实验后 , 发现以下特征:正常获取定位信息时 ,locationManager 代理方法会被回调 3 次 , 而虚拟定位 , 代理方法仅会被回调 1 次;正常定位可以获取海拔高度 , 水平精确度 , 垂直精确度 , 虚拟定位时 , 无法获取海拔高度 , 水平精确度 , 垂直精确度也是固定的错误值 。 以上两点可以作为检查依据 。
闪电口外设没有购买位移精灵 , 没有做测试 , 不过在 gayhub 上发现一份检查 iap2 外设定位的代码 iap2-location-checker
其主要思路也是检查定位数据的精度 。 还有一种思路是检查外设类型 , 获取外设的硬件信息 , 如 mac , manufacturer , brand 之类的信息 , 不过在高版本 iOS 中 , 需要额外申请权限 , 这里就没有实践了 。
参考

  • 苹果虚拟定位技术原理和检测
  • iOS上虚拟定位检测的探究
  • 免越狱虚拟定位外挂的调试小记与检测方案
Author: GeneBlue
Blog: