在做安卓的app开发和SDK开发中,为了提高自身项目代码的安全性(提高反编译者阅读代码的难度),在打包的时候都会增加混淆,但是默认的混淆只有字母:
为了进一步提高反编译后阅读代码的难度,就可以使用 自定义混淆规则(火上浇油)
其实也很简单:在项目中创建一个txt文件,往里面写想要替换掉默认字母的字就行了
比如我填了:
aaaaa
bbbbb
ccccc
ddddd
之后在混淆文件(proguard-rules.pro)中加入:
# 自定义文件名(我的文件名是kang)和位置(我是放在了assets目录下)
-obfuscationdictionary src/main/assets/kang.txt
-classobfuscationdictionary src/main/assets/kang.txt
-packageobfuscationdictionary src/main/assets/kang.txt
编译后再看aar包:
可以看到混淆的字母已经改了,为啥还有一些字母没改?往txt文件里面加多点字就行了
甚至还可以写中文:
改成中文了类里面的变量也很精彩(狗头):
以上就是展示自定义混淆的方法,可以说让反编译后代码的阅读难度提高了一个档次
如果不想自己写的话github上也有轮子:https://github.com/ysrc/AndroidObfuseDictionary 拿里面的txt文件就行了,也可以用其他的