微信資源混淆工具打包
最近研究了下反編譯 ,看到人家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中:
相關文章
- Android資源混淆打包工具Android
- Android資源混淆工具使用說明Android
- IDEA打包工具類jar並混淆IdeaJAR
- android混淆打包經驗分享!Android
- maven 打包不複製資源Maven
- 微信小程式資源合集微信小程式
- SpringBoot程式碼混淆與反混淆加密工具詳解Spring Boot加密
- Python程式碼混淆工具,Python原始碼保密、加密、混淆Python原始碼加密
- Golang 非主流 打包靜態資源方案Golang
- 資源混淆是如何影響到Kotlin協程的Kotlin
- Python 程式碼混淆工具概述Python
- 微信開發資源下載
- 微信小程式資源彙總微信小程式
- ios加固,ios程式碼混淆,ios程式碼混淆工具, iOS原始碼混淆使用說明詳解iOS原始碼
- cordova打包工具
- vite打包分析工具Vite
- Java程式碼混淆工具入門——Allatori~Java
- .NET 程式碼混淆工具-JIEJIE.NET
- 微信小程式資源彙總整理微信小程式
- webpack--初試webpack( 核心、體驗、資源打包)Web
- vue修改打包後靜態資源路徑Vue
- Android構建過程——資源合併打包Android
- 最佳化 uniapp 發行操作:一鍵打包、混淆程式碼APP
- 資源監控工具 glances
- 複習webpack4之靜態資源打包(下)Web
- 複習webpack4之靜態資源打包(上)Web
- 程式碼混淆工具ipaguard:如何使用ipaguard保護和混淆iOS應用程式程式碼iOS
- DMG Canvas for macDMG打包工具CanvasMac
- Unity——AssetBundle打包工具Unity
- 其他打包工具 Rollup && Parcel
- 打包工具-Parcel 的使用
- AIX下打包解壓工具AI
- 雲原生打包工具-BuildpacksUI
- Java開源的混淆器 Proguard詳細介紹Java
- webpack4配置(3)-打包css/js/圖片等資源WebCSSJS
- 多頁應用增量更新靜態資源Webpack打包方案Web
- vue靜態資源打包中的坑與解決方案Vue
- 如何實現混合 App Web 資源的打包與增量更新APPWeb