iOS虚拟定位技术探究( 二 )
- (NSString *) getMethodIMPInfo:(NSString *) className, sel:(NSString *)sel {NSString *ret;Dl_info info;IMP imp = class_getMethodImplementation(objc_getClass([className UTF8String]), sel_registerName([sel UTF8String]));if ( dladdr(imp,}return ret;}NSString *ret = getMethodIMPInfo(@"CLLocationManager", @"delegate");
电脑端软件使用电脑端软件虚拟定位时 , app 获取定位信息与正常获取定位信息有差异 。
正常获取定位的时代理方法会被执行 3 次:
2020-09-25 14:37:25.587317+0800 iOSApp[990:275020] 纬度为:22.996662, 经度为:113.3284482020-09-25 14:38:00.158517+0800 iOSApp[990:275020] 高度为:23.0319122020-09-25 14:38:04.869490+0800 iOSApp[990:275020] 水平精确度:65.000000, 垂直精确度:10.0000002020-09-25 14:38:22.238887+0800 iOSApp[990:275020] 纬度为:22.996662, 经度为:113.3284482020-09-25 14:38:23.784470+0800 iOSApp[990:275020] 高度为:23.0319122020-09-25 14:38:25.844754+0800 iOSApp[990:275020] 水平精确度:65.000000, 垂直精确度:10.0000002020-09-25 14:38:26.841710+0800 iOSApp[990:275020] 纬度为:22.996667, 经度为:113.3284472020-09-25 14:38:26.842180+0800 iOSApp[990:275020] 高度为:23.0476932020-09-25 14:38:26.842767+0800 iOSApp[990:275020] 水平精确度:65.000000, 垂直精确度:10.000000
使用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上虚拟定位检测的探究
- 免越狱虚拟定位外挂的调试小记与检测方案
【iOS虚拟定位技术探究】Blog:
推荐阅读
- 111完美邮箱上线,定位“年轻人的专属邮箱”
- 5G打开虚拟现实的想象空间
- iOS版微信又双更新了,AirPods Pro推出牛年限定款
- 苹果关闭iOS 14.2/14.2.1认证通道:iOS 14.3无法降级
- 初探 iOS 自动化工具——快捷指令
- 苹果iOS 14升级这么久,这10个隐藏功能你未必全知道
- 苹果重拳出击,IOS系统再次迎来更新,果粉这下有福了
- 为规避隐私标签不再更新ios应用?谷歌:或将本周更新
- iOS 14新版重大调整确定 值得点赞
- 谷歌或于本周推出带有隐私标签的iOS App更新