0

I have read that class-dump utility is used to dump headers from iphone private api's. However, it does work only for objective-c frameworks. I wanted to know how it works for frameworks written in C, example - IOSurface, IOMobileFramebuffer etc.

The second part of the question is very generic. I have an app with me downloaded from cydia or istore. How do i go about reverse engineering the app on a jailbroken deivce (if that is actually needed). To be specifc, I am able to locate the executable binary and the dylibs. I am able to see the frameworks being used. But, how do I make out what functions inside the frameworks are being called by the app ?

Thanks.

Victor Ronin
  • 22,758
  • 18
  • 92
  • 184
Hrishikesh_Pardeshi
  • 995
  • 4
  • 19
  • 45

1 Answers1

3

I would recommend to break down this question to two questions:

1) "I wanted to know how it works for frameworks written in C, example - IOSurface, IOMobileFramebuffer etc."

I had exactly the same question: Getting signatures of private API methods for iOS

The answer is

   a) Try to google C method to see whether somebody else has disassembled it and found method signature.

   b) If nobody did this before, you can be the first who will do it


2) "how do I make out what functions inside the frameworks are being called by the app ?"

There are two types of references to functions in frameworks/libraries:

  • Compile time references

You use some disassembler, it will list all compile time references to frameworks/dylibs.

  • Runtime references

These are references when somebody does dlopen, dlsym or NSBundle to use some functions. You will have to disassemble and look/grep through disassembled code to find where they are used. There will be strings with the names of methods which are used.

Community
  • 1
  • 1
Victor Ronin
  • 22,758
  • 18
  • 92
  • 184
  • Thanks for the reply. I used otool on the dylib of the app I wanted to reverse engineer. The resulting assembly code however does not prove to be of much help. I couldn't find function signatures. In case of apple frameworks however I am able to get function signatures. But then getting the arguments becomes a tough job. – Hrishikesh_Pardeshi Jan 08 '13 at 17:46
  • I would recommend you to try Hopper Disassmebler. It's reasonably cheap and it has some interesting function (as example it tries to convert ASM to C like code). This is a nice start to try to learn method arguments. – Victor Ronin Jan 08 '13 at 17:56