回顾以前的实战:
继续讲一个越狱检测的案例,这个就难度比前面的又高点点,但是也简单,这次的app没有提示弹窗,直接就是闪退了。
首先我们分析闪退的原因。
-
app本身有问题,导致不能正常运行。
-
环境问题,也就是一些其它因素导致不能正常运行,也可以放到第一点。
-
由于环境问题人为故意的。
现在我们大概了解一些情况了,很明显我们要分析的app是第三种,他做了越狱检测,不能在越狱手机上运行,也就是检测到手机越狱直接闪退。
那我们怎么下手呢?我们既然知道了是人为导致他闪退,那就是说明自己退出了自己的app,或者kill掉了,任何操作都有api来支撑,因此我们去找一些或者先猜测能退出与能杀掉app的api,我们把他hook上回溯。
这次同样用frida直接hook c的exit函数,frida写插件不是很方便,但是非常适合前期做动态分析用调试,我们先看看效果。
出了堆栈信息,那说明我们猜测的exit函数确实调用了,通过堆栈信息去找调用链,用ida很快就出看了检测代码。
然后从调用链找一个适合的地方hook看看效果,这里直接用的函数替换,整个检测链就直接不调用了。
结果是app不再闪退了,停在了登录页面。
最后我们写tweak插件,让他能在越狱手机上也能正常运行,这就不再演示了。
部分ios教程目录:
# ios逆向开发
* 1.ios越狱
* 2.打开ssh通道并连接
* 3.砸壳与ipa包介绍
* 4.其它砸壳方式
* 5.ios动态调试环境搭建
* 6.lldb基本命令使用
* 7.lldb高级介绍
* 8.frida环境搭建
* 9.frida命令行使用
* 10.frida hook Objc常用方法
* 11.frida hook Objc中常用容器类
* 12.frida hook native层
* 13.frida hook 其它情况
* 14.frida 主动调用
* 15.frida hook Swift
* 16.frida常用脚本
* 17.实现classdump
* 18.其它frida集成工具
* 19.tweak命令环境搭建
* 20.xcode集成环境搭建
* 21.通过tweak复习oc反射
* 22.tweak hook oc普通函数
* 23.tweak hook oc构造函数
* 24.tweak oc类添加函数同时调用
* 25.tweak oc修改参数
* 26.tweak 遍历所有动态库与框架
* 27.tweak hook动态库导入导出函数
* 28.tweak hook framework
* 29.tweak hook未导出的函数
* 30.tweak hook无符号函数
* 31.tweak hook c++函数
* 32.tweak hook block
* 33.hookzz介绍
* 34.系统调用与反调试
* 35.hook 指令介绍
* 36.hook syscall介绍
* 37.UI调试介绍
* 38.Cycript
原文始发于微信公众号(安全狗的自我修养):ios逆向免费实战部分(四 某app越狱手机上闪退)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论