2011-03-29 36 views
3

可能重复:
decompile an app binary to get back to source code反编译iOS的Objective-C的二进制

我有一个iPhone/iPad应用,什么是还挺有趣的。它使用特殊的内部XML格式来处理它所做的事情,但是没有设备,我看不到它是如何工作的。我想重新创建Android手机的这个功能(也许是免费的和开源的),但为此我想看看阅读部分是如何工作的,实际上,我想知道XML格式本身。从头开始重新创建(仅使用XML文件)是非常困难的,因为它们没有被评论,而且名称也没有告诉任何有关它们功能的特定信息。

我想看到的是文件如何被读取,具体标签做什么等,所以我可以编写一个转换器来转换iOS输出文件,以实现我的相同目的的Android应用程序。是的,我检查了市场,没有像我想要重新创建的应用程序(实际上几乎完全重新创建,我只需要一个转换器或用于这些iOS特定文件的解析器)。

回答

15

来自iOS App Store的所有应用程序以及库存OS设备的文件系统上的二进制文件都已加密。

请尝试非常有礼貌地编写应用程序的作者,并确定他们是否会给出或提供销售您感兴趣的解析器的源代码。

+12

这个问题不断出现,这里的第二句话正是我一直告诉人们的。你会惊讶于很多开发人员的慷慨。如果他们无法提供确切的代码,通常他们可以给你指出这是如何工作的。 – 2011-03-29 17:34:46

1

因为noted here,你可以得到汇编代码,但是你将永远无法获得源代码,因为有无数的方式来表示程序集。

+0

我想DECOMPILE一个BINARY,而不是去探索.IPA包。已经这样做了,那样我已经获得了一些内置的XML来学习,但仍然无法获得格式本身。 – fonix232 2011-03-29 16:44:16

+1

@ fonix232:你认真反思反编译会对你有帮助吗?反编译本地代码(而不是托管)是一项棘手的业务,与读取纯汇编没有多大区别。 – 2011-03-29 17:07:24

+1

这将有助于理解哪个XML标记与哪个函数相关,因此很容易。但是,在汇编中,我不能真正看到函数名称,只能重定向到函数的主体。 – fonix232 2011-03-29 17:11:35