未进行资源混淆时:
进行资源混淆后:
一
在gradle导入依赖:
classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.18'
二
在app目录下新建一个and_res_guard.gradle,创建的方式可以复制一个build.gradle。内容如下:
apply plugin: 'AndResGuard'
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.18'
}
}
andResGuard {
mappingFile = null
use7zip = true
useSign = true
keepRoot = false
fixedResName = "arg"
mergeDuplicatedRes = true
whiteList = [
]
compressFilePattern = [
"*.png",
"*.jpg",
"*.jpeg",
"*.gif",
"resources.arsc"
]
sevenzip {
artifact = 'com.tencent.mm:SevenZip:1.2.18'
}
}
在原本app的build.gradle添加:
apply from: 'and_res_guard.gradle'
三
之后就可以开始任务。
但如果没有设置好签名的话,resguardRelease会报一个没有签名配置的错误
这时就需要配置签名:
signingConfigs {
release{
keyAlias '123456'
keyPassword '123456'
storeFile file('C:/Users/SHENG/Desktop/1.jks')
storePassword '123456'
}
}
signingConfig signingConfigs.release
然后就会生成4个apk包,我们选择签名、压缩、对齐后的apk即可,后缀名是*_signed_7zip_aligned.apk。
对做了资源混淆和未资源混淆的apk用killer进行反编译。
进行混淆过后,经过killer分析,可以看到对应的包名,内容则排好了序号。且未做任何修改进行回编译不了