我正在尝试运行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
*/
有什么想法吗?
感谢。
答案 0 :(得分:16)
这里的问题是您获得的二进制文件已经过签名和加密,可以在App Store上使用。要对转储或反汇编进行分类,您需要获取未加密的二进制文件。获得此功能的最简单方法是use GDB to dump the executable运行时(因为iPhone解密二进制文件以运行它)。
当然,这需要一个越狱设备。
答案 1 :(得分:5)
我写过一篇文章,介绍如何使用gdb和其他调试工具解密IOS应用程序,以便您可以使用class-dump-z转储类信息
答案 2 :(得分:0)
您可以尝试对其进行反汇编,例如使用IDA Pro。它支持手臂。