Claude Code(Anthropic 製のコーディングエージェント)向けのプラグイン / Skill で、Android アプリ(.apk / .xapk / .jar / .aar)を decompile し、そこから HTTP API の仕様を取り出して文書化する作業を、自然言語または /decompile スラッシュコマンドから半自動で進めるためのもの。
構成要素:
plugins/android-reverse-engineering/skills/.../SKILL.mdscripts/(Shell)
check-deps.sh / install-dep.sh: Java・jadx・Vineflower/Fernflower・dex2jar の有無を確認し OS に応じて導入decompile.sh: jadx または Fernflower(もしくは両方並走)で decompile。XAPK は内部の APK を自動展開して個別に処理find-api-calls.sh: Retrofit アノテーション、OkHttp 呼び出し、URL リテラル、認証ヘッダを grep ベースで抽出references/(Markdown)commands/decompile.md/decompile <file> スラッシュコマンドの挙動定義。.claude-plugin/marketplace.json と plugin.json/plugin marketplace add ... でインストール可能にするためのメタ情報。ライセンスは Apache 2.0。主言語は Shell。
既存の「生の CLI ツール」で同じことをやる場合、利用者は jadx / Fernflower / Vineflower / dex2jar / apktool などを個別にインストールし、APK なのか JAR なのか XAPK なのかで手順を切り替え、decompile 後のソースを grep しながら自力で Retrofit/OkHttp の断片から API 仕様を再構築する必要がある。
このリポジトリの嬉しさは以下:
--engine both で並走して比較 —— という判断基準を Skill に埋め込み、Claude に選ばせられる。install-dep.sh が OS と sudo の有無を判定し、可能なら ~/.local/ へ user-local インストールする。sudo が必要で不可なら手動コマンドを提示して終了するので環境構築でハマらない。find-api-calls.sh で Retrofit/OkHttp/URL/Auth を一掃し、LLM がコールチェーン(Activity → ViewModel → Repository → ApiService)を辿って、エンドポイントごとに「メソッド / パス / パラメータ / ヘッダ / 呼び出し元」を含む決まったフォーマットで Markdown を吐く。ここが MobSF や単発 CLI との一番大きな差。用途としては、セキュリティリサーチ、相互運用のための API 解析、マルウェア解析、CTF が想定され、利用者の責任で合法的に使うことが README で明示されている。
/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill → /plugin install android-reverse-engineering@android-reverse-engineering-skill。ローカルクローンからも可。/decompile path/to/app.apk もしくは「Decompile this APK」「Extract API endpoints from this app」等の自然言語。trigger フレーズで Skill が自動起動する。check-deps.sh で Java17+/jadx(必須)と Vineflower/dex2jar(推奨)を検査。不足は install-dep.sh で導入。--engine both、難読化 APK は --deobf。出力は <file>-decompiled/(both なら jadx/ と fernflower/ サブディレクトリ)。AndroidManifest.xml からランチャー Activity・Application クラス・パーミッションを把握、sources/ のパッケージ構造から api / network / repository 等を特定、MVP/MVVM/Clean Architecture を判別。@Module で DI バインディングを確認。難読化時は文字列リテラルとライブラリ API をアンカーに。find-api-calls.sh(--retrofit / --urls / --auth で絞り込み可)で候補を列挙し、各エンドポイントについてメソッド・ベース URL・パラメータ・ヘッダ・レスポンス型・呼び出し元を定型 Markdown で記録。