AabResGuardAndroid aab 文件资源混淆工具
AabResGuard 是一个针对 Android app bundle aab 文件的资源混淆工具,由字节跳动抖音 Android 团队开源。
资源混淆可以避免 Android 应用被轻松地恶意逆向分析破解,还可以减少 apk 文件的体积,但相应地也会降低代码的可读性。
特性
- 资源去重: 对重复资源文件进行合并,缩减包体积。
- 文件过滤: 支持对
bundle
包中的文件进行过滤,目前只支持MATE-INFO/
、lib/
路径下的过滤。 - 白名单: 白名单中的资源,名称不予混淆。
- 增量混淆: 输入
mapping
文件,支持增量混淆。 - 文案删除: 输入按行分割的字符串文件,移除文案及翻译。
快速开始
- 命令行工具: 支持命令行一键输入输出。
- Gradle plugin: 支持
gradle plugin
,使用原始打包命令执行混淆。
Gradle plugin
在 build.gradle(root project)
中进行配置
buildscript { repositories { mavenCentral() jcenter() google() } dependencies { classpath "com.bytedance.android:aabresguard-plugin:0.1.0" } }
在 build.gradle(application)
中配置
apply plugin: "com.bytedance.android.aabResGuard" aabResGuard { mappingFile = file("mapping.txt").toPath() // 用于增量混淆的 mapping 文件 whiteList = [ // 白名单规则 "*.R.raw.*", "*.R.drawable.icon" ] obfuscatedBundleFileName = "duplicated-app.aab" // 混淆后的文件名称,必须以 `.aab` 结尾 mergeDuplicatedRes = true // 是否允许去除重复资源 enableFilterFiles = true // 是否允许过滤文件 filterList = [ // 文件过滤规则 "*/arm64-v8a/*", "META-INF/*" ] enableFilterStrings = false // 过滤文案 unusedStringPath = file("unused.txt").toPath() // 过滤文案列表路径 默认在mapping同目录查找 languageWhiteList = ["en", "zh"] // 保留en,en-xx,zh,zh-xx等语言,其余均删除 }
aabResGuard plugin
侵入了 bundle
打包流程,可以直接执行原始打包命令进行混淆。
./gradlew clean :app:bundleDebug --stacktrace
通过 gradle
获取混淆后的 bundle
文件路径
def aabResGuardPlugin = project.tasks.getByName("aabresguard${VARIANT_NAME}") Path bundlePath = aabResGuardPlugin.getObfuscatedBundlePath()
评论
AndResGuardAndroid资源混淆工具
AndResGuard是一款 Android资源混淆工具,资源混淆组件不涉及编译过程,只需输入一个apk(无论签名与否,debug版,release版均可,在处理过程中会直接将原签名删除),可得到一个
AndResGuardAndroid资源混淆工具
0
ResEdWindows资源文件编辑工具
ResEd为编辑Windows资源文件(.rc文件)提供了一个可视化的操作界面,它可以处理以下的资源类型:超过30个对话框控件菜单字符串表加速键表版本信息语言设置位图、图标、清单等资源
ResEdWindows资源文件编辑工具
0
RetroGuardJava 混淆工具
RetroGuard是不错的Java混淆器,在JBuilder7的企业版中也带了这个混淆器。而yGuard是RetroGuard的一个升级版本自带一个ANT任务。
RetroGuardJava 混淆工具
0
JavaScript ObfuscatorJavaScript 代码混淆工具
JavaScriptObfuscator是一款功能强大的代码混淆器,能将原始代码混淆成可读性低的代码,看上去是难以阅读的代码不过具备和之前代码一样的功能,从而起到保护代码的作用。特性重命名变量字符串提
JavaScript ObfuscatorJavaScript 代码混淆工具
0