怎样准确获取越狱手机真实版本号

需求: 怎样准确获取越狱手机真实版本号

操作步骤: 背景, 发现我们的App被人■■了, 对方使用了"爱伪装"一类的一键新机, 导致他把9以下的系统改成了9系统(因为某些方法是9以上系统才有的, 低版本的会崩溃, 我们在崩溃栈信息中发现的). 我们现在想获取真实的手机版本号, 但是UIDevice这个估计是被hook掉了, 各位大神有没有好的办法

这种崩溃不应该直接忽略么,难道还要兼容他们么

kCFCoreFoundationVersionNumber?

直接禁掉这部分用户

现在就是要在下个版本把他们揪出来

现在就是要在下个版本把他们揪出来, 都识别不了, 怎么放弃.

识别不出来, 怎么禁, 现在就是想拿真实版本号做为一个参考. 不能错杀

我只需要知道怎样拿真实版本号去作为识别条件, 后面再说封号的事, 各位宝宝, 大神, 大佬, 审题啊,跪谢啊

有从这个取.

可以看下这个API他hook了没

[[UIDevice currentDevice] performSelector:@selector(_deviceInfoForKey:) withObject:@"ProductVersion"]

但这都始终不是办法,这种一般都是把底层的MGCopyAnswer和IOKit的函数hook了。
我能想到的就是根据一些系统特性判断,比如某个系统API就不可用了等等。还有就是可以做hook检测,甚至还原真实的获取地址。

不知道能不能调用打开awz

你都已经走到这一步了还不知道怎么弄么,这个plist文件本身可读,虽然在沙盒外,这应该是个漏洞,其他思路的话其实很简单,那批设备都是能被hook的设备,通用工具只是hook了api可以从这点出发。其他思路就是自己去找各个系统版本的api更新,然后通过判断特征去判断系统真实版本

好的, 我试试, 谢谢了, 么么哒

调用高版本的方法前进行判断,避免崩溃
或者看崩溃收集sdk能不能传自定义信息比如用户id