【发布时间】:2013-03-17 03:04:15
【问题描述】:
有没有办法从 .ipa(可执行文件)中提取 Xcode 项目文件?
我尝试了以下方法:
复制 .ipa 文件并将 .ipa 更改为 .zip。双击 Payload 文件夹并打开项目文件夹。右键单击该文件夹并选择显示包内容。
一切似乎都还好,但我想查看现在显示为可执行文件的代码。有什么工具或方法可以实现这一点吗?
【问题讨论】:
标签: xcode
有没有办法从 .ipa(可执行文件)中提取 Xcode 项目文件?
我尝试了以下方法:
复制 .ipa 文件并将 .ipa 更改为 .zip。双击 Payload 文件夹并打开项目文件夹。右键单击该文件夹并选择显示包内容。
一切似乎都还好,但我想查看现在显示为可执行文件的代码。有什么工具或方法可以实现这一点吗?
【问题讨论】:
标签: xcode
如您所见,.ipa 文件包含已编译的项目。所以不,您无法获取 Xcode 项目文件或源代码。 (当然,除非有人故意复制这些文件)。
【讨论】:
不,您不能将已编译的可执行文件转换回源代码。
.ipa 是已编译 iOS 应用程序的存档,包含已编译的可执行文件以及任何资源(图像、属性列表等)。您无法轻松地将编译后的代码翻译回生成它的人类可读源代码,而且您当然无法获得定义应用程序构建过程的 Xcode 项目文件。虽然市面上有机器码反汇编程序,但它们只会为您提供原始代码的粗略近似值,并且可能会丢失原始变量名称、cmets 等有价值的信息。
【讨论】:
是的,斯图尔特是对的,我们不能轻易地从二进制文件中提取代码,逆向工程过程非常困难,即使完成它也有很多复杂性,而且代码的形式并不完全相同,更重要的是不是可以理解
【讨论】:
实际上,您可以将其解压缩并查看许多包含的文件,这些文件可能会有所帮助。对我来说,我需要查看 .ipa 文件中的 cordova 版本和 cordova 插件版本。
使用 XCode 导出之前的提交后,将 .ipa 文件更改为 .zip。
在“有效负载”目录中,右键单击您的应用名称,然后单击 Show Package Contents 并瞧。
要查看 cordova 版本,请导航到 www/cordova.js,您将看到 PLATFORM_VERSION_BUILD_LABEL
对于插件,检查文件cordova_plugins.js的底部
感谢 oxdaily.com 提供有关转换为 zip 文件的提示。
【讨论】: