11

有没有办法从 .ipa(可执行文件)中提取 Xcode 项目文件?

我尝试了以下方法:

制作 .ipa 文件的副本并将 .ipa 更改为 .zip。双击Payload文件夹并打开项目文件夹。右键单击该文件夹并选择Show Package Contents

一切似乎都很好,但我想查看现在显示为可执行文件的代码。有什么工具或方法可以实现这一目标吗?

4

4 回答 4

9

如您所见,.ipa 文件包含已编译的项目。所以不,您无法获取 Xcode 项目文件或源代码。(当然,除非有人故意复制这些文件)。

于 2013-03-27T04:38:57.313 回答
5

不,您不能将已编译的可执行文件转换回源代码。

An.ipa是已编译的 iOS 应用程序的存档,包含已编译的可执行文件以及任何资源(图像、属性列表等)。您无法轻松地将编译后的代码翻译回生成它的人类可读的源代码,当然也无法获得定义应用程序构建过程的 Xcode 项目文件。虽然那里有机器代码反汇编程序,但它们只会为您提供原始代码的粗略近似值,并且可能会丢失有价值的信息,例如原始变量名称、注释等。

于 2013-03-27T04:48:45.550 回答
2

实际上,您可以将其解压缩并查看许多可能有用的包含文件。对我来说,我需要查看 .ipa 文件中的 cordova 版本和 cordova 插件版本。

使用 XCode 导出以前的提交后,将 .ipa 文件更改为 .zip。在“有效负载”目录中,右键单击您的应用名称,然后单击Show Package Contents并瞧。

要查看 cordova 版本,请导航到 www/cordova.js,您将看到PLATFORM_VERSION_BUILD_LABEL

对于插件,检查文件的最底部cordova_plugins.js

感谢 oxdaily.com 提供有关转换为 zip 文件的提示。

于 2018-08-18T22:37:04.500 回答
0

是的,斯图尔特是对的,我们不能轻易地从其二进制文件中提取代码,逆向工程过程非常难以完成,即使完成它也有很多复杂性,而且代码的形式并不完全相同,更重要的是无法理解

于 2013-03-27T05:56:16.480 回答