Getting signatures of private API methods for iOS

2019-02-15 14:53发布

I know that SpringboardService contains a lot of private API's (as example: SBGetApplicationState, SBDimScreen etc). I got the list of these methods using "nm" tool.

I want to find a tool which will let me get signatures for these private API methods. As I understand SBGetApplicationState is a C call (vs Objective C method). So I am not sure whether it's possible to recover signatures without disassembling and additional manual actions. However, I hope that at least semi-automated process exist.

Several notes:

a) I have seen this link (iOS Runtime private headers): https://github.com/nst/iOS-Runtime-Headers

It contains only Objective C headers.

b) I have seen this link (SpringBoard.app/MIG subsystem) http://iphonedevwiki.net/index.php/SpringBoard.app/MIG_subsystem

It contains some interesting information, but the documentation is a little bit outdate (for iOS 3.1-4.2)

c) I am doing a research and I don't plan to submit any application to AppStore. I am well aware of AppStore rejections based on usage of private API's

1条回答
▲ chillily
2楼-- · 2019-02-15 15:24
  1. Your assumption about C functions is unfortunately correct -- you can't automatically get their signature.
  2. However, you can do this with Objective-C messages -- have a look at class-dump (or, even better, class-dump-z).
查看更多
登录 后发表回答