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

Iphone 如何分类转储iPad应用程序?,iphone,objective-c,c,cocoa,xcode,Iphone,Objective C,C,Cocoa,Xcode,我试图运行一个iPad应用程序来探索它的架构。我使用Unarchiver提取了.ipa文件,并从Payload文件夹中对.app文件运行了类转储。但是,我得到了这个错误: /* * 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 - /* *

我试图运行一个iPad应用程序来探索它的架构。我使用Unarchiver提取了.ipa文件,并从Payload文件夹中对.app文件运行了类转储。但是,我得到了这个错误:

/*
 *     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
 */
有什么想法吗


谢谢。

您可以尝试拆解它,例如使用IDA Pro。它有手臂支撑

这里的问题是,您获得的二进制文件已签名并加密,以便在应用商店中使用。为了类转储或反汇编它,您需要获得一个未加密的二进制文件。最简单的方法是在它运行的时候(因为iPhone会解密二进制文件来运行它)


当然,这需要越狱设备。

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


“此文件已加密”应该是一个提示……有什么办法可以绕过它吗?@jasonbogd:加密是有原因的……不,你不会,因为它已加密。更好的是,给开发人员发电子邮件,向他们解释为什么他们应该帮助你理解他们的程序。也许他们会更进一步,向您提供此程序的源代码。+1但需要注意的是,您不应该这样做,除非您a)获得应用程序作者的明确许可,并且b)无法直接获得源代码的副本以查看。即使这样也有点不确定。我个人认为这种敏感信息不应该出现在这样的网站上。首先,我总是有额外的工作要做,以确保我的应用程序不会被这种方式利用,其次,这违反了软件工程的道德规范。没有战争意图,只是说。@Viren安全不依赖隐藏方法或隐蔽性,这在实践中不起作用。优秀文章!非常有用:)谢谢@Firblip,很高兴你发现它有用