分析一款越狱插件,插件是注入到com.apple.UIKit的,当目标app启动时,会在目标app的启动页toast一个文字提示“xxxx”
现在要定位到这个toast提示的位置。
反汇编按字符串“xxxx”反向追踪到了一个sub_xxx的函数,然并没有调用。
根据这个帖子:Lldb调试时怎么使程序在加载某个模块成功后断下来 - #7 由 Zhang
按张总的说法lldb断点在插件的入口函数logosXXX,然后就不知道该怎么办了,后续整个逻辑都是在这个入口函数里,感觉整个插件的逻辑都内联到这个入口函数里了,bt也看不到任何调用其他sub_xx函数的地方,无从下手了!!
1 个赞
我这样问吧:
下图是插件入口函数logsXXX的伪代码:
查看其中任何一个sub_xxx函数都是这样的结果:
然后查看这个off_557B70() 都跳转到了data段:
之前从没遇到过这样的汇编代码,想了解下这是什么混淆技巧?
2 个赞
yangyss
(yangyss)
8
IDA 对 switch 的识别.pdf (453.4 KB)
IDA修复跳表.pdf (2.0 MB)
这两个方案<一个针对linux,一个针对iOS的,都差不多,针对win下的,基本也这么搞>,你自己看一哈。
我懒得写总结…
处理完了,基本都这样 :
5 个赞
yangyss
(yangyss)
9
我不是大神,只是一个 埋头 折腾的,码畜。遇到问题,各种谷哥,度娘…
所以,我就是一个渣渣,小白,萌新一枚。