2017-09-26 91 views
1

我有一个问题来混淆项目代码以保护源代码。如何混淆项目中的所有代码IOS

  • 这是可能的混淆所有项目源代码。 如果是,请指导我。
+0

你想使代码不清楚的吗?呃....为什么? – Supertecnoboff

+0

为什么?这不是Java,一旦建成你就无法“阅读”。 – Shebuka

+0

@Shebuka是的,你可以。你只需要正确的工具。有关该主题的许多资源,请参阅https://stackoverflow.com/questions/1890480/how-do-i-inspect-a-class-in-objective-c。 – ekscrypto

回答

0

Objective-C代码不能被100%混淆。有一些open source和一些commercial工具会混淆类名称,自定义方法和变量,但请注意,它们可能会轻易破坏和崩溃您的应用程序。例如,如果在故事板中使用自定义视图控制器类,并且代码混淆会更改源文件中的类名称但不包含故事板,则实例化该自定义视图控制器会导致应用程序崩溃,或者至少使实例化您的自定义视图控制器成为不可能。

类似地,如果不是不可能的话,objective-C变量绑定可能会很困难。 Objective-C从根本上被设计为可检查和可修改的。显然,所有的UIKit委托/协议方法都不能被混淆。 viewDidLoad将永远被称为viewDidLoad。

祝你好运!

- 编辑 -

似乎有一个LLVM更换处理该代码混淆你,看看Obfuscator-llvm Wiki

+0

有没有简单的方法可以做到任何其他选项或工具 – Enes

+0

在Objective-C中没有简单的方法来做代码混淆。这是可能的,但准备好在你的发展方式上极其有限。如果你在StackOverflow或你最喜欢的搜索引擎上搜索它们,那么这个主题有很多帖子。 – ekscrypto

+1

你可能想看看[PPiOS-Rename](https://github.com/preemptive/PPiOS-Rename)。这是一个ios-class-guard的开源分支,它修复了很多问题,并且已经为新版本的Xcode/iOS进行了维护。 (完全披露:我为PreEmptive解决方案,谁做PPiOS重命名工作。) –