就是有个app运行一两个月就自动执行闪退需要更新才能继续使用!我想通过hook的方式让app不执行闪退!大佬们请问我这思路能实现吗!怎么写hook exit(0); 代码才能实现这种效果
- 我觉得可以断点exit函数看看堆栈找到调用exit函数的地方修改逻辑!直接hook exit函数可能达不到你想要的预期效果
看看退出信息
在哪里可以看
用啥工具可以断点
xcode lldb br set -n "exit"
1 个赞
自动执行闪退
如果确定是崩溃
,则可以通过崩溃日志找到具体原因,以便于为后续找到具体的hook的入口点提供精确的入口和思路
注:崩溃日志在iPhone-》设置-》隐私-》分析与改进-》分析数据-》会看到很多.ips
崩溃日志文件,找到和你app对应的即可(如果有的话)
需要更新才能继续使用
那也可以根据此更新
,找到去找hook的入口点。
怎么写hook exit(0);
你直接提到了hook的入口点exit
,但是我倒是觉得,你怎么确定,app崩溃,就一定是:调用了exit函数而退出的?
万一不是呢?那岂不是始终无法hook到?所以觉得你应该是:
根据上述建议,找app退出的真正所调用的函数,然后再去hook
具体如何逆向分析,就是体现你的逆向的技术了。没法直接给出答案。只能给出上述思路,供你参考。
具体逆向技术,总体来说,就2类:静态分析
和动态调试
详见我的教程: iOS逆向开发:静态分析 和 iOS逆向开发:动态调试
用啥工具可以断点
简单说,iOS逆向的动态调试的工具,多数都可以加断点 或 (通过hook对应函数)实现类似加断点的效果
比如:
等等。
可以看看崩溃日志