如何分类转储iPad应用程序?

时间:2011-01-23 21:22:32

标签: iphone objective-c c cocoa xcode

我正在尝试运行class-dump一个iPad应用程序来探索它的架构。我使用Unarchiver解压缩.ipa文件,在Payload文件夹中,我在.app文件上运行了class-dump。但是,我收到了这个错误:

/*
 *     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
 */

有什么想法吗?

感谢。

3 个答案:

答案 0 :(得分:16)

这里的问题是您获得的二进制文件已经过签名和加密,可以在App Store上使用。要对转储或反汇编进行分类,您需要获取未加密的二进制文件。获得此功能的最简单方法是use GDB to dump the executable运行时(因为iPhone解密二进制文件以运行它)。

当然,这需要一个越狱设备。

答案 1 :(得分:5)

我写过一篇文章,介绍如何使用gdb和其他调试工具解密IOS应用程序,以便您可以使用class-dump-z转储类信息

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

答案 2 :(得分:0)

您可以尝试对其进行反汇编,例如使用IDA Pro。它支持手臂。