NabilRFG12/Reverse-Engineer-anything
Reverse engineer anything with agents, from app behavior down to native binaries.
REA(Reverse Engineer Anything)– クイック概要
概要 – REAは、Node.jsベースのプラットフォームで、大規模言語モデルエージェント(Claude、Gemini、Grokなど)がソースコードのないソフトウェアを自動的に調査できるようにします。ローカルのMCP(Modular Capability Provider)サーバーを通じてエージェントと通信し、分析ツール群(Hopper、Ghidra、IDA、pwntools、JADX、Binwalk、ブラウザなど)を実行し、LLMが説明、変更、または再実装できる証拠(擬似コード、アセンブリ、モジュールグラフ、ネットワークキャプチャなど)を返します。
重要性 – 従来のリバースエンジニアリングは手動で、深い専門知識と一連の重量級ツールが必要です。REAはこれらのツールをシンプルなCLI(rea …)とMCP契約の背後に抽象化し、AIアシスタントが重労働を担えるようにします。「Notionのクリップボードはどのように機能しますか?」のような質問をすると、段階的なトレース、コードスニペット、すぐに使える実装が得られます。
主な機能
| ターゲットタイプ | REAが抽出するもの | 必要なツール |
|---|---|---|
| ネイティブバイナリ(PE/ELF/Mach-O) | 擬似コード、アセンブリ、文字列、シンボル、コールグラフ | Hopper、Ghidra、またはIDA(インストール済みまたは自動インストール) |
| JavaScript/Electronアプリ | モジュールリスト、インポート、ソースマップ、IPCブリッジ | Node.js/npmのみ |
| .NETアセンブリ | メタデータ、CIL、ネイティブ依存関係 | 静的検査 |
| Android APK | マニフェスト、逆コンパイルされたクラス | ヘッドレスJADX + JDK |
| ファームウェアイメージ | 領域、抽出されたファイル | Binwalk/Unblob |
| Webサイトとネットワークキャプチャ | DOM構造、スクリプト、HARデータ、スクリーンショット | Chromeファミリーブラウザ、mitmdump |
| EVMバイトコード、記録されたLinuxクラッシュなど | ディスパッチテーブル、レジスタ、シグナル | pwntools、オプションでGDB |
使用方法
- インストール –
npx rea-agents setupを実行してMCPサーバーを登録し、選択したLLMエージェント用の「スキル」をインストールします。 - エージェントに質問 – 自然言語でリクエストを入力すると、エージェントがREAを呼び出し、適切な分析ツールを実行して構造化された証拠を返します。
- CLIフォールバック – 同じコマンドを直接実行できます(例:
rea analyze-javascript-application /path/to/app --json)。 - 更新 –
rea updateを実行するか、setupコマンドを繰り返して最新のバグ修正を取得します。
ショーケース例 – READMEには3つの詳細なケーススタディへのリンクがあります:
- クラシックなDX-Ballゲームでのサウンドパン計算の再構築(x86 → C)。
- ElectronベースのNotionアプリでのクリップボードブリッジのトレース。
- PC-98ゲームからDOS時代の弾丸リング計算の復元。 それぞれに再構築されたコードを含む公開GitHubリポジトリがあります。
コミュニティとサポート – Discordサーバー、広範なドキュメント(ウェブサイト、ガイド、MCP契約カタログ)、およびREAにプラグインできる成長中のエージェントエコシステムがあります。
法的注意 – REAは合法的なリバースエンジニアリング研究を目的としており、ユーザーは対象ソフトウェアを分析する許可を持っていることを確認する必要があります。
TL;DR
REAは、Node.js駆動のAI拡張リバースエンジニアリングフレームワークで、ローカルMCPサーバーを介してLLMエージェントを従来のバイナリ分析ツールに接続し、モデルが説明や新しいコードに変換できる証拠を提供します。多くのアーティファクトタイプ(ネイティブバイナリ、JavaScript/Electron、.NET、Android、ファームウェア、Webキャプチャなど)をサポートし、Claude、Gemini、Grokなどの一般的なエージェントと連携します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト