为什么要进行代码混淆?
-
在 iOS 开发中,很多工程师都会对自己的代码成果进行混淆,有时是为了加密,有时是为了重复上架
-
马甲包开发以应对苹果4.3等审核条款,代码混淆都变得必不可少,已经是程序开发收尾一环中的标配
-
有时为了应对 2.1
以上两种情况下混淆你的工程就非常有必要
一般混淆方案
常见的方案一般有:
1.文件名混淆:
2.字符串加密:对程序中所使用到的字符串进行加密,防止逆向通过字符串定位到我们的业务代码;
3.类名、变量/属性名、函数/方法名混淆;
4.敏感词过滤;
5.图片压缩;
6.爬虫服务;
7.修改项目名;
8.翻新项目UUID;
9.自动备份混淆项目;
10.界面颜色魔改;
11.APP图片主题色替换;
12.Xib和Storyboard;
等等
我们的混淆要有目的性,不是为了追求彻彻底底的混淆,而是为了追求最有价值的混淆,在极致和价值中保持克制和平衡,追求价值最大化。
这就需要一个更符合苹果审核政策的混淆方案,在这里向大家推荐一款专门针对 iOS 开发、 majia、定制包等人员使用的混淆软件:ZFJObsLib 该软件主要解决机器审核4.3、2.1(使用模拟人工手动混淆模式防止出现因为混淆原因出现2.3.1)