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 確實能運行,而非僅是「建置成功」但執行時失敗的假象。
寫過它的文章
相關
- 專案
- 專案
- 專案
- 專案