我知道 SpringboardService 包含很多私有(private) API(例如:SBGetApplicationState、SBDimScreen 等)。我使用“nm”工具获得了这些方法的列表。
我想找到一个工具来获取这些私有(private) API 方法的签名。据我了解 SBGetApplicationState 是一个 C 调用(与 Objective C 方法相比)。所以我不确定是否可以在不反汇编和额外的手动操作的情况下恢复签名。但是,我希望至少存在半自动化过程。
几点说明:
a) 我看到了这个链接(iOS 运行时私有(private)头文件): https://github.com/nst/iOS-Runtime-Headers
它仅包含 Objective C header 。
b) 我看过这个链接(SpringBoard.app/MIG 子系统) http://iphonedevwiki.net/index.php/SpringBoard.app/MIG_subsystem
它包含一些有趣的信息,但文档有点过时(适用于 iOS 3.1-4.2)
c) 我正在进行研究,我不打算向 AppStore 提交任何应用程序。我很清楚 AppStore 因使用私有(private) API 而拒绝
最佳答案
- 不幸的是,您对 C 函数的假设是正确的——您无法自动获得它们的签名。
- 但是,您可以使用 Objective-C 消息执行此操作 -- 查看 class-dump (或者,更好的是 class-dump-z )。
关于ios - 获取 iOS 私有(private) API 方法的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11511570/