问题
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:
- Your assumption about C functions is unfortunately correct -- you can't automatically get their signature.
- However, you can do this with Objective-C messages -- have a look at class-dump (or, even better, class-dump-z).
来源:https://stackoverflow.com/questions/11511570/getting-signatures-of-private-api-methods-for-ios