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)からViewModelやリポジトリを経由し、最終的なHTTP呼び出しに至るまでの経路をトレースできます。

対象ユーザー

セキュリティ研究者、ペネトレーションテスト担当者、マルウェア分析者、相互運用性分析や教育用CTFコンペティションに興味を持つ開発者。

特徴

  • R8デオブフスケーション: メタデータを利用してオブフスケートされたKotlinクラス名を復元し、コードの可読性を大幅に向上します。
  • 広範なスタック対応: KtorやApollo GraphQLなどの現代的なKotlin Multiplatform(KMP)スタックからAPIを抽出できます。
  • APIファーストワークフロー: API呼び出しやハードコードされたURLを検出するための専用スクリプトを提供します。
  • マルチエンジン対応: 複数の逆コンパイルエンジンをサポートし、出力結果を並列比較できます。
  • Claude Code統合: Claude Code CLIツールのスキルとしてインストール可能です。

関連

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