我阅读了一些有关为未记录的 API 获取 .h 文件的信息。大多数来源推荐 class-dump(或 class-dump-x 和 class-dump-z)。
但是它不适用于 iPhone Security.framework。它不包含 Objective-C 运行时信息。
我发现的唯一其他方法是使用nm
or otool
。这将为它们提供函数和反汇编的名称。
有没有人知道一些比阅读反汇编并试图找出哪些参数去哪里以及它可能是什么更快的方法来获得未记录的函数签名?
我阅读了一些有关为未记录的 API 获取 .h 文件的信息。大多数来源推荐 class-dump(或 class-dump-x 和 class-dump-z)。
但是它不适用于 iPhone Security.framework。它不包含 Objective-C 运行时信息。
我发现的唯一其他方法是使用nm
or otool
。这将为它们提供函数和反汇编的名称。
有没有人知道一些比阅读反汇编并试图找出哪些参数去哪里以及它可能是什么更快的方法来获得未记录的函数签名?
你的意思是这个未记录的api,记录在这里..
Security.framework 不是私有的或未记录的。
就标题而言,安装在我的硬盘上的 3.2 sdk 我发现:
/Security.framework/Headers/Security.h /Security.framework/Headers/Secbase.h /Security.framework/Headers/SecCertificate.h /Security.framework/Headers/SecIdentitiy.h /Security.framework/Headers/SecImportExport.h /Security.framework/Headers/SecItem.h /Security.framework/Headers/SecKey.h /Security.framework/Headers/SecPolicy.h /Security.framework/Headers/SecRandom.h /Security.framework/Headers/SecTrust.h
至于小逆向工程 101,您应该意识到框架不包含头文件或函数签名,或者无论如何都没有使用头文件或函数签名。提供时,它们仅是为了开发者的利益。编译的框架中没有 C 或 C++ 或 Objective-C 代码,只有原始机器代码。
如您所见,如果使用了objective-c,Class-Dump 可以很好地将objective-c 符号排列到看起来像头文件的东西中,只是缺少运行时不使用的类型信息,所以仍然没有那很有用。
如果源语言是 C,那你就完蛋了。可能有一个函数名称符号,但没有关于参数或返回类型的信息。
官方文档中未提及许多其他未记录的 API。例如,其中一部分可以在这里看到:
http://www.opensource.apple.com/source/Security/Security-55163.44/sec/Security/