做海外项目的同学一定都会遇到马甲包的问题,马甲包是指除了与主包ICON和应用名不一致,其它内容基本相同。 作用:
不过2021年开年以来,谷歌对马甲包的检测收紧,那么我们就必须知道谷歌是如何检测马甲包的。
我们将代码反编译:
从反编译的产物可以猜测出如下几个可能点: 1.通过比对dex,通过代码的相似程度来判断 2.比对res文件夹下资源相似程度 3.比对AndroidManifest.xml中的声明的四大组件等,比对相似程度
1.dex上进行更复杂的混淆规则 可以使用这个库:变态代码混淆字典 将代码check出来,然后复制bt-proguard.txt到自己工程目录下,然后在proguard-rules.pro文件中进行配置即可
-obfuscationdictionary bt-proguard.txt
-classobfuscationdictionary bt-proguard.txt
-packageobfuscationdictionary bt-proguard.txt
混淆后解析效果如下:
2.混淆res文件夹 这个可以使用微信的AndResGuard
3.给AndroidManifest.xml中插入代码 可以通过自定义plugin打包时期修改AndroidManifest.xml,可以参考开源库AndroidManifestAdder 此工程中可以在AndroidManifest.xml任意插入四大组件代码,效果如下: