2

我必须反编译 iOS .app 文件,然后插入我的代码,然后重新打包回 ipa 文件。

您能否建议一些指示如何做到这一点?

4

2 回答 2

5

你根本无法做到这一点。

一旦应用程序被编译成机器代码,你可以从逆向工程中得到的最好的就是汇编,除非你愿意在汇编中编写你的修复程序,否则我不知道你将如何集成你的代码。

这样做也会破坏代码签名。除非您在计算机上设置了有效的配置,否则您无法使用原始代码签名重新打包应用程序。

尝试获取源代码或类似源代码来编写具有您需要的功能的应用程序。

于 2012-06-28T16:01:27.663 回答
3

是的,如果设备已越狱并且签名检查已删除,则可以。

这里有一种情况:

是否可以编辑和重新编译 iOS 二进制文件?

在回复中,他们建议直接在二进制文件上进行修改(通过用其他相同大小的函数替换一些函数)。但是,我相信你可以做更高级的事情。

例如,您可以使用 XCode 将应用程序的程序集包含到您自己的 Objective-C 代码中:

与 iPhone 项目一起编译程序集 (.S) 文件

或者直接将修改后的程序集编译成二进制(mach-o)然后重新打包。

如何创建 iPhone mach-o 文件?

也许GNU ARMLLVM 工具链可以帮助您执行此操作:使用 LLVM 工具链进行编译、汇编和反汇编

我目前正在研究一些方法。这并不简单,因此非常感谢有关该主题的任何其他专业知识。

于 2012-08-20T15:12:16.157 回答