使用hopper分析MobilePhoneSetting.bundle,没有书上那么多注释,求解

需求:用hopper分析MobilePhoneSetting.bundle怎么样才会有详细的注释?
描述:我现在分析出的结果没有类似书上obj_msgSend,_CTSettingCopyMyPhoneNumber这种注释,好像凡是别的库里的方法都没有注释.所以完全无法按着书上的步骤去分析. 分析完整的APP注释是很详细的(比如SpringBoard).
环境:手机是5s, 10.0.2的系统, hopper是v4.

可以请@wangdu 分享一下经验

1 个赞

好的,偶講一下遇到的坑 QQ 希望能幫到你

因為hooper的確沒有顯示這類注釋,所以我後來的解法是將斷點設在bl上,在hooper上bl 指令就是一個實現程序流程的跳轉來後再跳回原來的主函數,因為他有記住主函數在他之後的下一個指令地址。

當手機操作停在斷點bl後,跟書上不同的是我會去輸入s指令(step in)進去該跳轉後的程序,一直輸入n你可以看到它跳轉程序裡面運行,最後會看見關鍵字串有可能是objc_msgSend 或者 objc_msgSendSuper2這個時候你就得到你要的資訊了。

如果這個跳轉程序內容太多一直按n or s都跳不回去主程序,你可以輸入c (continue)他就會直接跳出回主程序。
以上,

請參考我操作的附圖:

不小心按到enter键,所以上文就不小心送出了,昨天有跟大神确认一下基本上bl都很有可能或者就是msgSend or SendSuper之类的因为他是要去呼叫别的程序,如果遇到b那就是不回来,直接跳转到目标程序。以上是我目前经验的理解,如果有任何误解,还是论坛大神们帮忙打脸,祝你顺利,有问题再讨论

谢谢分享,我昨天调试的时候也发现如你所说的,可以查看到msgSend,release,retain等方法,而且有些bl的断点处可以通过打印x1获取到方法名称,我想知道是不是所有的方法名称都可以通过这种方式获得,还是只有msgsend的地方才可以通过打印x1获得.比如CTSettingCopyMyPhoneNumber可以这样找到吗.我昨天搞了半天也没找到.

按你说的一直s下去,找到那个方法了.真不容易啊.

1 个赞