newliver666/apk-reverse

Suitable for Android APK reverse engineering analysis

解決的問題

本專案提供一套完整的 Android APK 逆向工程能力。它讓 AI 代理能夠執行如應用去冗餘、移除廣告、修補 DEX 檔案、重新打包 APK,以及分析執行時或伺服器端行為等任務。它特別針對逆向工程中常見的失敗情況,例如繞過伺服器端付費牆、處理加固/打包的目標,以及確保修補後的建置版本保持功能正常與穩定。

如何運作

本專案並非教學,而是一個「代理技能」,可由 AI 代理(如 Claude Code 或 Codex)載入。它採用結構化方法,引導代理完成整個流程:

  • 流程指引:SKILL.md 檔案作為包含「門檻」(通過標準)與「覆蓋規則」的流程,防止代理產生幻覺或重複錯誤。
  • 按需參考:references/ 目錄中的詳細技術指南僅在特定步驟需要時才載入。
  • 參數化腳本:scripts/ 目錄中包含大量 Python 與 JavaScript 腳本,負責處理從位元組級修補、DEX 讀取到 Frida 基於的執行時探測與 APK 重新打包等繁重任務。
  • 環境驗證:首先使用 doctor.py 腳本驗證工具可用性與環境健康狀態(例如時鐘偏移、ADB 連線性),以避免測量污染。

適用對象

本專案專為配備技能載入框架的 AI 代理設計,也適用於希望為代理提供 Android 應用分析與修改所需專業工具與方法論的開發者或安全研究人員。

主要亮點

  • 外科式修補:支援等長位元組編輯,避免破壞應用穩定性;並提供 DEX 級重寫器,以實現更複雜的修改。
  • 加固目標支援:包含識別與解包打包器的工具,處理程式碼虛擬化,並中和故意導致程序崩潰的原生程式庫。
  • 執行時分析:整合 Frida 探針,用於網路層分析與記憶體映射,以查看實際執行的內容。
  • Dart AOT 支援:提供專門用於恢復字面量與反組譯 Dart AOT 快照的工具。
  • 穩定性檢查:包含「聲稱階梯」與驗證步驟,確保修補後的 APK 確實能運行,而非僅是「建置成功」但執行時失敗的假象。

寫過它的文章

相關

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