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 工具。

相關

  • 專案
  • 專案
  • 專案
  • 專案