微信资源混淆工具打包

来源:互联网 发布:vue.js是谁开发的 编辑:程序博客网 时间:2024/06/14 15:57

最近研究了下反编译 ,看到人家apk的资源文件名字都是类似于abcd这样的字母,很好奇是怎么实现的,所以自己上网查了下,利用微信资源混淆工具可以实现,废话不多说,直接上代码.

1、工程project 的build.gradle下添加插件依赖

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:2.3.3'        //混合资源打包        classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.1.14'    }}

2、app的build添加插件依赖

apply plugin: 'AndResGuard'andResGuard {    // mappingFile = file("./resource_mapping.txt")    mappingFile = null    // 当你使用v2签名的时候,7zip压缩是无法生效的。    use7zip = true    useSign = true    // 打开这个开关,会keep住所有资源的原始路径,只混淆资源的名字    keepRoot = false    //白名单配置 UM必须配置白名单 否则会提示找不到资源文件    whiteList = [            //for your icon            "R.drawable.icon",            //for fabric            "R.string.com.crashlytics.*",            //for umeng update            "R.string.umeng*",            "R.string.UM*",            "R.string.tb_*",            "R.layout.umeng*",            "R.layout.socialize_share_menu_item",            "R.layout.tb_*",            "R.drawable.umeng*",            "R.drawable.tb_*",            "R.anim.umeng*",            "R.color.umeng*",            "R.color.tb_*",            "R.style.*UM*",            "R.style.umeng*",            "R.id.umeng*",            "R.id.socialize_image_view",            "R.id.socialize_text_view",            //umeng share for sina            "R.drawable.sina*"    ]    compressFilePattern = [            "*.png",            "*.jpg",            "*.jpeg",            "*.gif",            "resources.arsc"    ]    sevenzip {        artifact = 'com.tencent.mm:SevenZip:1.2.3'        //path = "/usr/local/bin/7za"    }}

3、找到andresguard插件目录
这里写图片描述

这里写图片描述

这里写图片描述

4、由于没有配置签名文件 只能debug

这里写图片描述

下面展示的就是混淆后的包 app-release_signed_7zip_aligned.apk 这个是最小的 一般上线的这个就可以了

5、然后反编译看一下效果

这里写图片描述

debug下的layout文件

这里写图片描述

混淆后的

这里写图片描述

6、apk对比效果

这里写图片描述

这只是建立了一个空的工程就小了这些 可想工程大的时候资源文件的压缩差不多能到2M 甚至更多

这里写图片描述

这里写图片描述

具体源码与使用方法详细在github中:

https://github.com/shwenzhang/AndResGuard

原创粉丝点击