【问题标题】:Extract Xcode project file from an .ipa or executable file从 .ipa 或可执行文件中提取 Xcode 项目文件
【发布时间】:2013-03-17 03:04:15
【问题描述】:

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

我尝试了以下方法:

复制 .ipa 文件并将 .ipa 更改为 .zip。双击 Payload 文件夹并打开项目文件夹。右键单击该文件夹并选择显示包内容

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

【问题讨论】:

    标签: xcode


    【解决方案1】:

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

    【讨论】:

    • 我需要进一步澄清。如果以上都做不到,那苹果在提交应用到 App Store 的时候,怎么会审核开发者写的代码呢?我听说,作为提交审批流程的一部分,他们也会审核代码。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-20
          • 1970-01-01
          • 1970-01-01
          • 2015-05-02
          • 2021-04-16
          • 1970-01-01
          相关资源
          最近更新 更多