jasonbogd
jasonbogd

Reputation: 2491

How to class-dump iPad apps?

I am trying to run class-dump an iPad app to explore its architecture. I extracted the .ipa file using The Unarchiver and from inside the Payload folder, I ran class-dump on the .app file. However, I get this error:

/*
 *     Generated by class-dump 3.3.3 (64 bit).
 *
 *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2010 by Steve Nygard.
 */

#pragma mark -

/*
 * File: /Users/jason/Desktop/foo/Foo.app/Foo
 * UUID: 1234567890
 * Arch: arm v7 (armv7)
 *
 *       Objective-C Garbage Collection: Unsupported
 *       This file is encrypted:
 *           cryptid: 0x00000001, cryptoff: 0x00001000, cryptsize: 0x00073000
 */

Any ideas?

Thanks.

Upvotes: 8

Views: 8034

Answers (3)

PhoenixCoder
PhoenixCoder

Reputation: 81

I have written an article on how you can use gdb and other debugging tools to decrypt an IOS application so you can dump the class info using class-dump-z

http://timourrashed.com/decrypting-ios-app/

Upvotes: 5

Ben S
Ben S

Reputation: 69382

The issue here is that the binary you obtained has been signed and encrypted to be used on the App Store. In order to class dump or disassemble it you will need to obtain an unencrypted binary. The easiest way to get this is to use GDB to dump the executable when it's running (since the iPhone decrypts the binary to run it).

Of course, this will require a jailbroken device.

Upvotes: 15

Max
Max

Reputation: 16719

You can try to disassemble it, for example with IDA Pro. It has support for arm.

Upvotes: 0

Related Questions