0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIでリバースエンジニアリング?「REA(Reverse Engineer Anything)」を調べてみた

0
Posted at

ソースコードが手元にないアプリケーションの仕組みを調べたいとき、役立つかもしれないツールが REA(Reverse Engineer Anything) です。

今回は公式GitHubの情報をもとに、REAがどんなツールなのかを簡単に紹介します。

この記事について
2026年10月時点の公開ドキュメントを参照してまとめています。筆者自身がREAをインストールして解析を試した記事ではありません。実際の解析精度や使い勝手は未検証です。

REAとは?

REAは、AIコーディングエージェントからリバースエンジニアリング用の解析機能を利用できるようにする、オープンソースのツールです。

CLI(コマンドライン)とMCPサーバーを提供しており、エージェントと連携してアプリケーションの構造や処理を調査できます。

公式資料では、ソースコードのないアプリケーションを解析し、特定機能の仕組みを調べる用途が紹介されています。

どんなものを解析できる?

公式ドキュメントでは、次のような対象が挙げられています。

  • ネイティブの実行ファイルやライブラリ
  • JavaScript / Electronアプリケーション
  • .NETアセンブリ
  • Webサイト

解析対象によって利用する機能や必要な環境は異なります。例えばネイティブバイナリの詳細解析には、Ghidraなどの解析エンジンを利用します。

公式サイトで紹介されている解析例

REAの公式サイトには、実際の解析内容を紹介する例があります。ここでは2つだけ紹介します。

例1:Windows電卓の「%」ボタン

Windows電卓で 200 + 10% と入力すると、結果は 220 になります。

公式サイトでは、電卓のプログラムに含まれる命令や関数の呼び出しを調べ、足し算の後の「10%」は、最初の数値200の10%(20)として扱われることを説明しています。一方、掛け算では 10% を 0.1 として扱う例も示されています。

これは、表示される計算結果だけでなく、内部の処理を手がかりに動作の仕組みを調べる例です。

例2:恐竜ゲームの速度変化

公式サイトでは、Chromium由来の恐竜ゲームのブラウザ版を対象に、走り続けるとゲームの速度が上がる仕組みを調べる例も紹介されています。

取得したJavaScriptのコードから、速度が初期値 6 から上限 13 に向かって増加する処理を確認し、そのルールを使った操作可能な小さなゲームも掲載しています。

なお、これは公式が指定するブラウザ版を解析した事例であり、あらゆるChromeのバージョンで同じ実装だと確認したものではありません。

これらはREA公式が公開している事例の紹介であり、筆者が同じ解析を実施して再現性を確かめたものではありません。

どうやって使う?

Node.jsとnpmが使える環境で、公式ドキュメントは次のセットアップコマンドを案内しています。

npx rea-agents setup

セットアップ時に連携先のAIエージェントを選択し、設定変更を確認して進めます。利用する解析対象によっては、別途解析エンジンの準備が必要です。

例えば、AIエージェントに「このアプリのファイル保存処理がどうなっているか調べて」といった質問をする使い方が考えられます。ただし、対象の形式や解析環境によって、どこまで調べられるかは変わります。

気をつけたいこと

REAは、元のソースコードを完全に復元できるツールというわけではありません。

また、AIが説明した内容が必ず正しいとも限りません。解析結果を利用する場合は、根拠となる情報を確認し、必要に応じて実際の動作と照合することが大切です。

他者のソフトウェアを解析する場合は、利用規約やライセンス、解析権限にも注意が必要です。

まとめ

REAは、リバースエンジニアリングの解析機能をAIエージェントから利用できるようにするツールです。

ソースコードのないアプリケーションを理解するための選択肢として興味深い一方、解析できる範囲や結果の正確さは、実際に試して確認する必要があります。

機会があれば、簡単なサンプルアプリで試してみたいと思います。

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?