这篇来谈谈代码混淆。
1.市面上的混淆
市面上有这各种各样的混淆工具,脚本啥的,有的人也会自己写一些混淆的脚本,大概的思路跑不了:改方法名、属性名、类名、目录名,再好点的就是加些垃圾代码,更好点的就是进行穿插调用。
2.但是你是否思考过这些是否有用呢?或者有多大的作用呢?
因为现在没有太好的工具来做比较,这里还是用quick第三方平台来比较。
-
对比原工程与只改名字的脚本混淆出来的工程
-
对比新混淆脚本工程和原工程
总结:
(这里相似度,我们只看函数相似度,文件的不是重点)
- 通过上图我们可以看出来,只改名字的混淆在quick这种简单的第三方检测平台上,相似度高达90%以上,当然也可能是楼主这里,改名字混淆的脚本没那么完善,各位可以去亲测,但楼主这里感觉,就算你改名字的脚本写得再好,相似度也难降到40%以下,可以说40%已经是极限。
- 再说楼主探索出来新思想的脚本,轻易就把降到了10%左右,而这种思想重点不是改名字。
- 况且quick还只是简单检测的第三方平台,可想苹果审核会更加严格,相似度过不去,被调查,4.3就难免不会有。
由于涉及核心思想,这里简单的说下,1再改也终究还是1,撑死变成1.5,而如果你加了10,那么就变成了1/11。
网友评论