InspectiveC
有时候我们想跟踪一个程序,看看这个程序的执行流程是什么样的,以及某个函数的调用参数是什么。常规的方法是把APP的可执行文件砸壳,然后放到IDA中分析,然后在汇编中寻找objc_msgSend,一层一层跟下去。这是比较笨的办法,而且不能动态查看函数的参数。
通过InspectiveC,我们可以动态的查看:
- 某个类的所有方法调用情况
- 某个类的某个方法的调用情况
- 某个类的实例对象的所有方法的调用情况
- 某个类的实例对象的某个方法的调用情况
- 某个方法签名的调用情况
项目地址: https://github.com/DavidGoldman/InspectiveC
- cydia中添加http://apt.golddavid.com/源
- 安装InspectiveC
- 在手机的/usr/lib中找到libinspectivec.dylib,把这个文件复制到Mac中/opt/theos/lib目录下
- 在github库中找到InspCWrapper.m,复制到tweak目录下,然后在tweak文件中包含这个文件:#include “InspCWrapper.m”
- 在想要开始观察的地方加上如下语句:watchClass(%c(SomeClass));
- make 3连
- 接下来就去Documents目录下找log吧!
Enjoy your hook~