这篇文章主要是讲ios中的常用检测对抗技术,检测技术有:反越狱检测、反调试检测、设备指纹检测、重打包检测、网络环境检测等。然后我们讲下怎么全套通杀绕过,还有对抗最后的思考。
反越狱检测
先看看常用的反越狱检测,这里抠了前面几篇的检测图。
我们先从越狱者角度考虑,比如越狱特征。越狱最标志性的一个东西是桌面会有cydia程序,然后这个cydia普通方式是卸载不掉的,这个非常直观了,其次要知道越狱后你就是要写插件或者安装插件,因此要做hook,就有一些框架,同时安装完cydia后面默认有hook框架了,也就是说白了,你也可以调用这些库做hook操作了。
所以检测一般从特征下手或者从自己能不能hook函数下手,写hook我这里就不提了,直接看看我这里写一种的从特征下手的。
...
"Applications/Cydia.app",
"Applications/FakeCarrier.app",
"Applications/Sileo.app",
"Applications/Zebra.app",
"usr/sbin/sshd",
"usr/bin/ssh",
"Library/MobileSubstrate",
"Library/LaunchDaemons/com.saurik.Cydia.Startup.plist",
"Library/Frameworks/CydiaSubstrate.framework",
"var/mobile/Library/SB",
"var/cache/apt",
"etc/apt",
"etc/ssh",
"var/stash",
"var/lib/apt",
"var/lib/cydia",
"var/lib/sileo",
"var/tmp/cydia",
"var/tmp/sileo",
...
通过path操作for遍历挨个找。
重打包检测
重打包检测一般是直接检测签名,重新打包签名信息肯定会变化了,看下我这里的检测代码: