如何混淆iOS项目中的所有代码

Ene*_*nes 3 obfuscation xcode objective-c ios

我有一个问题,需要混淆项目代码以保护源代码。

  • 这是否可以混淆所有项目源代码?如果是,请指导我。

eks*_*pto 5

Objective-C 代码不能 100% 混淆。有一些开源和一些商业工具会混淆类名称、自定义方法和变量,但请注意它们很容易破坏您的应用程序并使其崩溃。

例如,如果您在故事板中使用自定义视图控制器类,并且您的代码混淆更改了源文件中的类名称,但没有更改故事板,则实例化该自定义视图控制器将使您的应用程序崩溃,或者至少使其无法实例化您的自定义视图控制器。

同样,Objective-C 变量绑定即使不是不可能,也可能很困难。Objective-C 从一开始就被设计为可检查和可修改。显然,所有 UIKit 委托/协议方法都不能被混淆。viewDidLoad永远都会被调用viewDidLoad

祝你好运!


编辑:

似乎有一个 LLVM 替代品可以为您处理代码混淆,请查看Obfuscator-LLVM Wiki