获取iOS的私有API方法的签名[英] Getting signatures of private API methods for iOS

本文是小编为大家收集整理的关于获取iOS的私有API方法的签名的处理方法,想解了获取iOS的私有API方法的签名的问题怎么解决?获取iOS的私有API方法的签名问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我知道 SpringboardService 包含很多私有 API(例如:SBGetApplicationState、SBDimScreen 等).我使用"nm"工具得到了这些方法的列表.

我想找到一个工具来获取这些私有 API 方法的签名.据我了解,SBGetApplicationState 是一个 C 调用(与 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. 很遗憾,您对 C 函数的假设是正确的——您无法自动获得它们的签名.
  2. 但是,您可以使用 Objective-C 消息来做到这一点——看看 class-转储(或者,更好的是,class-dump-z).

本文地址:https://www.itbaoku.cn/post/924515.html