打开app客户端的时候发现检测到了手机已经被越狱了,这时候开始闪退,然后来解决掉这个问题。
首先先找ios函数体里面所有包含Jail的方法
frida-trace -U -f com -m '*[* *Jail*]'
在弹窗的时候我让这个apk直接退了,所以上面trace到的都是被调用的
利用frida-trace,修改返回值,一开始是逐一修改的返回值,但是发现还是有越狱弹窗。。。
索性一把梭,把上面带Jail的方法的返回值都为0
这个时候app不弹窗了
这个时候我们开始看看如何做的越狱检测
[ZXHookDetection isJailbroken1]
上面的就是判断断设备是否安装了如下越狱常用工具:
ZXHookDetection isJailbroken2
v4是判断stat是否被fishc替换掉,如果被换掉肯定返回的就不是"/usr/lib/system/libsystem_kernel.dylib"
同时在确定没被替换掉的情况下去看下ios系统是否装了下列越狱的特征
遍历dyld_image检测非法注入的动态库,但是这个apk明显没用到。。
还具有签名校验
某盟的也是检测那几个文件路径
某talking也是检测的这几个文件
其实这里发现检测在ios上是否越狱的手段,都大同小异,远远没有安卓上检测root的方案多。
如何过去越狱检测?
其实采取的第一种,找到检测越狱的函数修改其返回值。
第二种自己针对这些检测项,hook其对应的检测函数,例如fopen,fileExistsAtPath等等。
当然可以图省事可以安装一下cydia的插件,笔者在用的移动安全星球的AntiJailbreak,很是好用。
学习爬虫和js逆向可以关注:
学习更多知识移动安全星球公众号:
我是BestToYou,分享工作或日常学习中关于二进制逆向和分析的一些思路和一些自己闲暇时刻调试的一些程序,文中若有错误的地方,恳请大家联系我批评指正。
原文始发于微信公众号(二进制科学):某app越狱检测绕过及杂谈
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论