应用程序的可执行文件已经被苹果加密,并且应用程序沙箱的可执行代码段是不可写的,所以你不能进行额外的加密,需要修改运行时手臂代码。而且 Objective C/C 编译器的优化器传递已经创建了一些与原始源代码非常不同的东西。使用更多的 C 和更少的 Objective C 将显示更少的函数名,因为方法名嵌入在可见的纯文本中,而 C 函数名不嵌入。因此,任何商业秘密类型代码都应该用纯 C 编码,并且在编译时一直开启优化器。您可以混淆嵌入在 app bundle 中的任何 webKit Javascript,或任何其他嵌入式 VM 代码(只要不下载解释代码)。