ios - 如何混淆项目IOS中的所有代码

标签 ios objective-c xcode obfuscation

我在混淆项目代码以保护源代码时遇到问题。

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

最佳答案

Objective-C 代码不能 100% 混淆。有一些open source还有一些commercial混淆类名、自定义方法和变量的工具,但请注意,它们很容易破坏和崩溃您的应用。

例如,如果您在 Storyboard中使用自定义 View Controller 类,并且您的代码混淆更改了源文件中的类名称而不是 Storyboard,则实例化该自定义 View Controller 将使您的应用程序崩溃或至少使无法实例化您的自定义 View Controller 。

同样,Objective-C 变量绑定(bind)即使不是不可能也可能很困难。 Objective-C 从一开始就被设计成可检查和可修改的。显然,所有的 UIKit 委托(delegate)/协议(protocol)方法都不能被混淆。 viewDidLoad 将始终被称为 viewDidLoad

祝你好运!


编辑:

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

关于ios - 如何混淆项目IOS中的所有代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46424003/

相关文章:

objective-c - 如何在 Cocoa 框架中定义全局变量

xcode4.2.1 - Storyboard - 导航 Controller - 标题栏颜色

ios - 通过蓝牙发送联系人

ios - 间歇性问题设置 UISwitch

objective-c - Cocoa/Objective-C 插件冲突

ios - 为什么滑动以删除并拉动刷新会导致崩溃?

ios - 使用 sizeThatFits : doesn't work 调整 UIWebView 的大小

ios - Core-Data 不保存在异步调用中

ios - UICollectionView 自调整大小自定义单元格

ios - Autolayout 与针对不同形状因子的不同 XIB?