newliver666/apk-reverse

Suitable for Android APK reverse engineering analysis

何を解決するか

このプロジェクトは、Android APKの逆コンパイルに特化した包括的な機能セットを提供します。AIエージェントがアプリの不要機能削除、広告の削除、DEXファイルの修正、APKの再パッケージング、実行時またはサーバーサイドの振る舞いの分析などを行うことを可能にします。特に、逆コンパイル中に発生する一般的な失敗要因、たとえばサーバーサイドの課金制限の回避、硬化・パッキングされたターゲットの扱い、修正後のビルドが機能的かつ安定していることを保証する点に焦点を当てています。

どう動くか

このプロジェクトはチュートリアルではなく、「エージェントスキル」として設計されており、Claude CodeやCodexのようなAIエージェントによって読み込まれます。構造化されたアプローチにより、エージェントがプロセスを適切に進めるようにガイドします:

  • 手順ガイド: SKILL.md ファイルが「ゲート」(通過基準)と「オーバーライドルール」を備えた手順として機能し、エージェントが誤解したり、同じミスを繰り返すのを防ぎます。
  • オンデマンドリファレンス: references/ ディレクトリ内の詳細な技術ガイドは、特定のステップが必要な場合にのみ読み込まれます。
  • パラメータ化されたスクリプト: scripts/ ディレクトリ内の大量のPythonおよびJavaScriptスクリプトが、バイトレベルの修正やDEXの読み取りからFridaベースの実行時プローブ、APKの再パッケージングまで、重い作業を処理します。
  • 環境検証: doctor.py スクリプトを最初に実行して、ツールの可用性や環境の健全性(例:時計のずれ、ADB接続)を確認し、測定値の汚染を回避します。

対象ユーザー

このスキルセットは、スキルロードハーネスを備えたAIエージェント、およびAndroidアプリの分析・修正に必要な専門的なツールと手法を提供したい開発者やセキュリティ研究者向けに設計されています。

主な特徴

  • 外科的修正: アプリの安定性を損なわないように等長のバイト編集をサポートし、DEXレベルのリライターでより複雑な変更に対応します。
  • 硬化ターゲット対応: パッカーの識別とアンパック、コード仮想化の処理、プロセスを意図的にクラッシュさせるネイティブライブラリの無効化を含むツールを提供します。
  • 実行時分析: ネットワーク層の分析やメモリマッピングに統合されたFridaプローブにより、実際に実行されている内容を確認できます。
  • Dart AOT対応: リテラルの回復やDart AOTスナップショットの逆アセンブリに特化したツールを提供します。
  • 安定性チェック: パッチ適用済みAPKが実際に動作することを保証するための「クレームラダー」と検証ステップを含んでいます。ビルドは成功しても実行時に失敗する「成功しただけのビルド」を防ぎます。

これを取り上げた記事

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト