1. 目標與威脅模型:你到底想防什么?
把“混淆”當作成本疊加器:讓逆向者付出更多時間與技能,而不影響用戶體驗與可維護性。可用 Collberg 等提出的四指標來權衡:有效性/韌性/隱蔽性/成本(potency/resilience/stealth/cost)。近年的研究也在重審這些評估方法,建議結合可度量指標落地(見 §6、§8)。
典型威脅面:
-
反編譯閱讀與二次打包(盜版、克隆)。
-
敏感常量/算法泄露(密鑰、授權校驗)。
-
篡改與調試(跳過授權、Hook、惡意 SDK 植入)。
2. 架構總覽:傳統工具鏈 + 大模型協作
2.1 傳統基礎設施(穩定、可復用)
-
ProGuard:開源 shrinker/optimizer/obfuscator,桌面與 Android 通用;配套 ReTrace 反混淆棧追蹤。
-
R8(Android 官方):Android 構建默認的壓縮/混淆/優化器,替代 ProGuard;配套
retrace
。 -
yGuard:yWorks 出品的開源 Java 混淆器,支持 Ant/Gradle。(