反编译Obj C框架 [英] Decompile Obj C framework

查看:109
本文介绍了反编译Obj C框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想反编译 iOS Twitter 框架,如果事实上我从 xcode 的模拟器中获取 twitterd 文件,该文件已预编译为在 x86 (?) 上运行,而不是 ARM.至于工具,我使用 http://code.google.com/p/i386codedump/说明:

I want to decompile iOS Twitter framework, if fact I take twitterd file from xcode's simulator, which is precompiled to run on x86 (?), not ARM. As for tool I use http://code.google.com/p/i386codedump/ Instruction:

Usage: code-dump [options] <mach-o-file> where options are:
    -a             show instance variable offsets
    -A             show implementation addresses
    --arch <arch>  choose a specific architecture from a universal binary (ppc, i386, etc.)
    -C <regex>     only display classes matching regular expression
    -H             generate header files in current directory, or directory specified with -o
    -I             sort classes, categories, and protocols by inheritance (overrides -s)
    -o <dir>       output directory used for -H
    -r             recursively expand frameworks and fixed VM shared libraries
    -s             sort classes and categories by name
    -S             sort methods by name
    -t             suppress header in output, for testing
    -d             decompile
    -D <arch>       decompilation architecture

我有点不明白我需要采取什么选择,我尝试了什么:

I kinda don't understand what options I need to take, that what I try:

iMac:documents $ ./code-dump -d twitterd
2011-12-02 18:56:35.885 code-dump[1643:707] feedface, ao: 0
2011-12-02 18:56:35.886 code-dump[1643:707] process: feedface (86000)
/*
 *     Generated by code-dump 2.0.
 */
This file does not contain any Objective-C runtime information.
2011-12-02 18:56:35.888 code-dump[1643:707] Building lookup table...
2011-12-02 18:56:40.308 code-dump[1643:707] Finished lookup table
/usr/bin/lipo: input file (twitterd) must be a fat file when the -extract option is specified
2011-12-02 18:56:40.868 code-dump[1643:707] CDAssemblyProcessor, 22288 instructions, 0 functions
Segmentation fault: 11

这是什么意思,我需要做什么?:)

What does this mean, what I need to do? :)

推荐答案

此文件不包含任何 Objective-C 运行时信息.

This file does not contain any Objective-C runtime information.

这意味着该文件没有定义任何类、协议或类别.它可能使用objective-c,但它不包含任何关于它使用的类的有用信息.

This means that the file doesn't define any classes, protocols, or categories. It may use objective-c, but it doesn't contain any useful information about the classes it uses.

CDAssemblyProcessor,22288 条指令,0 个函数

CDAssemblyProcessor, 22288 instructions, 0 functions

这表明该文件的符号已被删除.它包含代码,但没有任何函数开始或结束的指示,因此无法反编译.

This indicates that the file has had its symbols stripped. It contains code, but there is no indication of where any function begins or ends, so it can't be decompiled.

你得到这些是因为 twitterd 不是框架,它是一个包含在框架中的程序.实际的框架代码在 Twitter 文件中.如果你试图反编译它,你至少会得到一些objective-c 头文件.我建议使用 -H 选项,以便将标题创建为当前目录中的文件.没有它,标题将一个接一个地发送到您的终端,并且很难找到任何东西.然而,它的大部分符号很可能也被剥离了,所以反编译不会给出太多.

You are getting these because twitterd is not the framework, its a program which is included with the framework. The actual framework code is in the Twitter file. If you tried to decompile that instead, you would at least get some objective-c headers. I suggest using the -H option so that the headers will be created as files in the current directory. Without it, the headers will be sent to your terminal one after another, and it will be very difficult to find anything. However, it most likely has had most of its symbols stripped too, so the decompile won't give much.

这篇关于反编译Obj C框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆