在远程对 iPhone 应用程序进行逆向工程时,我为某些功能的地址设置了断点。
这些地址来自使用 Hopper 分析的反汇编二进制文件,看起来它们必须由应用程序调用。像user_click_on_blue_buton,或等价物。
我检查了断点设置是否正确:
- 没有一个处于待处理状态,
- 都将标志解析为 true:
resolved = 1, - 这些地址的反汇编代码与使用 Hopper 静态分析的二进制代码相同。
但是,当我单击蓝色按钮时,lldb 不会在断点处停止。该过程继续进行,就像没有断点一样。确切地说,有些是有效的,但只是少数,而不是全部。
lldb 是否有可能错过断点?还是因为应用程序在欺骗我而没有调用这些功能?
显然,该应用程序是从应用程序商店发布的 iOS 应用程序。所以绝对不能编译调试。是这个原因吗?