混淆程式碼 是一反逆向分析的手段 增加APP的安全性 也可以縮小檔案的大小 雖然可能會降低APP 效能 但混淆還是增強APP安全很好的方式
混淆有以下常見的技術
在Android 中常見的混淆工具有 R8 與 ProGuard 這裡個都是Android Studio 自帶的可以在 Gradle Scripts/build.gradle 找到相關啟用設定 minifyEnabled = True 以及 proguard-rules.pro
proguard-rules.pro 這個file 會決定在build 程式時 要做那些混淆的動作
# Prevent obfuscation of field names, but allow obfuscation of class and method names
-keep,allowobfuscation class * {
!private *;
}
-dontoptimize
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
-repackageclasses 'a.b'
-dontwarn javax.lang.model.element.Modifier
今天介紹完 混淆基本概念 明天會flow 混淆的 java Code 流程 來分析混淆程式 來讀懂猜測邏輯