最近参照念茜大神的博客练习代码混淆,又看了一下其他人做代码混淆的方法,总结起来就是把变量名、方法名、类名、文件名都改成难看的无意义字符串,恶心他人。一些大神提供了一些混淆脚本,但是执行后还是需要根据编译情况进行修改,因为混淆的过程中很可能把系统方法系统变量给换了,影响编译。代码混淆是一个比较耗时的工作,一键混淆这样的神器暂时还没有出现(可能是我见识优先,如果有成熟的混淆神器请告诉我!)目前比较可行的方法是针对关键代码进行局部混淆,既降低混淆工作量,又能最大限度阻止别人简单一句命令就把你项目的底裤都扒掉。

    如果是采用#define宏进行代码混淆的话,貌似storyboard和xib里面的sourcecode是不能替换的,如果关键代码里面用了storyboard或xib就不好混淆了。建议关键代码全部都采用代码编写,例如一些密码控件、加密model和加密类等。虽然图形化界面极大提高开发效率,但是在安全性面前还是要有所妥协。

以下是关键代码混淆效果:

ios中代码混淆 ios代码混淆有必要_字符串