在iPhone开发的早期阶段,应用程序经常被踢出AppStore以使用未记录的API调用。我总是问自己人们如何发现这些方法以及它们的作用。 我对Objective-C了解一点,我知道你可以向任何对象发送任何消息,或者你甚至可以通过调用respondsToSelector来检查一个对象是否会回答一个方法。所以它似乎使用未记录的API调用不是问题,但我不知道如何找到它们。
BTW我不想使用未记录的APi函数。我只想知道oit是如何完成的。在使用第三方框架时非常有用。或者有一天人们会使用我创建的框架。
答案 0 :(得分:5)
结帐Class Dump。这将通过框架并基本上创建它们包含的每个方法等的标题。对逆向工程框架非常有用。
您也可以尝试从命令行使用strings
实用程序。 strings
实用程序将打印出已编译二进制文件中包含的所有原始字符串,这在查找方法名称等时非常有用。
使用strings
将会更加困难/乏味,因为它还可以打印大量垃圾以及有用的东西,因此您需要通过它进行搜索才能找到有趣的东西。
希望这有帮助。