5

I installed "Class Dump" from Cydia to get application header files. But there is a problem.

I can use class-dump in default app. For example, I ran this command:
class-dump -H /Applications/MobileSafari.app/MobileSafari -o /Headers/safari and could get header files in "/Headers/safari/".

But AppStore app, for example, I ran this command:class-dump -H /var/mobile/Applications/BFF...../Dropbox.app/Dropbox -o /Headers/dropbox and terminal works, but garbled characters appeared (ScreenShot) and then terminal crashed.

How can I get AppStore app header files?

3 Answers3

7

All AppStore apps are encrypted. In order to use class-dump you need to decrypt (crack) them. You have two options:

  1. Download cracked ipa of the app. Cracked apps are already decrypted and you can class-dump or disassemble them. This will work only for paid apps. You will not find cracked free apps for obvious reasons.
  2. Crack it yourself. There are tools in Cydia for that - Rasticrac, for example. They are easy to use and will do all the work. When finished you will get cracked ipa. For free apps it's your only option.

On the other hand, built-in apps like Safari are not encrypted.

creker
  • 9,400
  • 1
  • 30
  • 47
3

You have to decrypt these applications because all applications from the AppStore are encrypted and you obviously can't class-dump encrypted applications.

So, without cracking anything, you can just use dumpdecrypted from Stefan Esser in order to decrypt the application (then keep the decrypted binary for yourself!).

You'll just have to compile dumpdecrypted yourself, then send dumpdecrypted.dylib to your device and use it :

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Applications/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Scan.app/Scan mach-o decryption dumper
Adam
  • 4,266
  • 1
  • 21
  • 21
  • 1
    You have to compile it yourself. Read 'README' :) – Adam Mar 17 '14 at 12:45
  • @McNight - I tried "make" but it gives me error of "/usr/bin 'xcrun not found'". I found that xcrun is basically used in MacBook. How can I make dumpdecrypted.dylib in ubuntu ? TIA – node_analyser Nov 23 '14 at 08:54
  • I think it only works on OS X by default. In fact, it's compiled to dylib so I doubt if you can easily port it to Linux. – superarts.org Dec 04 '14 at 03:52
0

If you have a Jailbroken iOS device, you can install Frida on the device, then install Grapefruit on your mac.

Once Grapefruit is running and you have connected to your iOS device, you will be able to see all of the classes (and Frameworks) used in any app on your device.

Ric Santos
  • 15,419
  • 6
  • 50
  • 75