xcode 如何对 iPad 应用程序进行类转储?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4776593/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to class-dump iPad apps?
提问by jasonbogd
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:
我正在尝试运行类转储 iPad 应用程序来探索其架构。我使用 The 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
*/
Any ideas?
有任何想法吗?
Thanks.
谢谢。
回答by Ben S
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 executablewhen it's running (since the iPhone decrypts the binary to run it).
这里的问题是您获得的二进制文件已经过签名和加密,可以在 App Store 上使用。为了类转储或反汇编它,您需要获得一个未加密的二进制文件。获得它的最简单方法是在运行时使用 GDB 转储可执行文件(因为 iPhone 解密二进制文件以运行它)。
Of course, this will require a jailbroken device.
当然,这需要越狱设备。
回答by PhoenixCoder
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
我写了一篇关于如何使用 gdb 和其他调试工具解密 IOS 应用程序的文章,以便您可以使用 class-dump-z 转储类信息
回答by Max
You can try to disassemble it, for example with IDA Pro. It has support for arm.
您可以尝试反汇编它,例如使用 IDA Pro。它有手臂支撑。