获取iOS的私有API方法的签名

时间:2012-07-16 19:53:56

标签: ios reverse-engineering disassembly iphone-privateapi

我知道SpringboardService包含许多私有API(例如:SBGetApplicationState,SBDimScreen等)。我使用“nm”工具获得了这些方法的列表。

我想找到一个工具,让我可以获得这些私有API方法的签名。据我所知,SBGetApplicationState是一个C调用(vs Objective C方法)。因此,我不确定是否可以在不拆卸和其他手动操作的情况下恢复签名。但是,我希望至少存在半自动化过程。

几点说明:

a)我看过这个链接(iOS运行时私有标题): https://github.com/nst/iOS-Runtime-Headers

它只包含Objective C标头。

b)我看过这个链接(SpringBoard.app/MIG子系统) http://iphonedevwiki.net/index.php/SpringBoard.app/MIG_subsystem

它包含一些有趣的信息,但文档有点过时(适用于iOS 3.1-4.2)

c)我正在进行研究,我不打算向AppStore提交任何申请。我很清楚基于私有API的使用的AppStore拒绝

1 个答案:

答案 0 :(得分:2)

  1. 不幸的是,您对C函数的假设是正确的 - 您无法自动获取其签名。
  2. 但是,您可以使用Objective-C消息执行此操作 - 查看class-dump(或者更好,class-dump-z)。