SimoneAvogadro/android-reverse-engineering-skill
Claude Code skill to support Android app's reverse engineering
解決的問題
本專案提供一套專門用於逆向工程 Android 應用程式的工具集,用以提取其 HTTP API 並理解其內部邏輯。它簡化了對 APK、XAPK、JAR 和 AAR 檔案的反編譯過程,並克服了 R8 混淆常見的障礙,此類混淆通常會將類別名稱重命名為無意義的字串。
工作原理
該工具集整合了多個反編譯器(jadx、Fernflower/Vineflower),並提供一系列腳本以自動化分析工作流程:
- 指紋辨識: 在完整反編譯前快速辨識應用的框架(例如 Flutter、React Native)、HTTP 堆疊與混淆等級。
- 反編譯: 將二進位檔案轉換為可讀的 Java/Kotlin 程式碼。
- Kotlin 名稱還原: 利用 R8 混淆後仍保留的 Kotlin 元資料,將混淆後的類別名稱(如
a.b.c)映射回原始名稱(例如LoginRepository)。 - API 提取: 在反編譯程式碼中掃描各種堆疊(包括 Retrofit、OkHttp、Ktor、Apollo(GraphQL)、Koin)的端點、URL 與驗證模式。
- 呼叫流程追蹤: 允許使用者從 UI 元件(Activities/Fragments)開始,透過 ViewModels 和 repositories 追蹤至最終的 HTTP 呼叫路徑。
適用對象
安全研究人員、滲透測試人員、惡意程式分析師,以及對互操作性分析或教育性 CTF 競賽感興趣的開發者。
主要亮點
- R8 去混淆: 透過元資料還原原始 Kotlin 類別名稱,使混淆後的程式碼顯著更易讀。
- 廣泛堆疊支援: 可從現代 Kotlin Multiplatform(KMP)堆疊(如 Ktor 和 Apollo GraphQL)中提取 API。
- API 優先工作流程: 提供專用腳本用於尋找 API 呼叫與硬編碼的 URL。
- 多引擎支援: 支援多個反編譯引擎,可並列比較輸出結果。
- Claude Code 集成: 可作為技能安裝至 Claude Code CLI 工具。
相關
- 專案
- 專案
- 專案
- 專案