REA (Reverse Engineer Anything)とは?AIでソフトの中身を調べる仕組み・使い方・注意点

/ noro_hacks

※本記事には広告リンクが含まれます。

REA (Reverse Engineer Anything)とは?AIでソフトの中身を調べる仕組み・使い方・注意点

REA (Reverse Engineer Anything)は、できあがったアプリやプログラムの「中身」をAIに調べさせるための無料のツールです。ソースコード(プログラムの設計図)が手元になくても、ある機能がどう動くかを調べて説明してもらえます。公開から約2週間でGitHub(開発者がプログラムを公開する場所)の「スター」が30万を超え、SNSで名前を見かけるようになりました。

REA (Reverse Engineer Anything)をひとことで言うと?

REA (Reverse Engineer Anything)は、完成したソフトの内部の動きをAIに調べさせるための道具セットです。

たとえるなら、買ってきた家電を分解して「このボタンを押すと、どの部品が動くのか」を調べる作業に、疲れ知らずの助手と専用の工具箱がつくようなものです。ただしREA自体は工具箱の側です。実際に調べて説明するのは、REAをつないだAIエージェントです。

※AIエージェントとは: 質問に答えるだけでなく、自分でファイルを開いたり道具を使ったりして、作業を進めてくれるAIのことです。

これまでと何が変わるのか

  • 設計図がなくても、アプリの「この機能はどう動くのか」を、根拠を示しながら説明してもらえるようになります(ASCII.jp)。
  • 一部の専門家の仕事だった作業を、ほぼ誰でも試せるようになったと、研究者が述べています(Scientific American)。
  • 他人のソフトの中身を調べてよいのか、という法律上の線引きが改めて問われています。

REA (Reverse Engineer Anything)とは?誰が作り、ChatGPTと何が違う?

作者はmorluto氏です。Scientific Americanによると、本人の希望で匿名のまま取材に応じたソフトウェアエンジニアです。もともとは、ファンがゲームのコードを何年もかけて組み直す「ゲームの逆コンパイル」に関心があったそうです。

名前の「リバースエンジニアリング」とは、完成品から逆向きに仕組みを割り出すことです。ASCII.jpによれば、REAはGitHubで公開され、MITライセンスの範囲内で無償利用できます。

ChatGPTは、人が話しかける相手です。REAはそれとは別物で、AIエージェントに持たせる解析用の道具の側にあたります。これは資料の説明を読んだ編集部の整理です。

AIとの橋渡しには、MCPという規格が使われます。

※MCPとは: AIが外部の道具を使うための、共通の差し込み口のような規格です。

調べられる対象は、パソコン向けの実行ファイル、JavaScriptやElectron製のアプリ、.NETのプログラム、ウェブサイトなどです(ASCII.jp)。コミュニティのプロンプト集には、ファームウェア、ゲーム、Androidアプリなども並びます(REA-Prompts)。公式サイトでは、Windowsの電卓で「200+10%」が220になる理由や、Notionの文字コピーの仕組みを調べた例が紹介されているそうです。

なぜ話題になっているの?

一番分かりやすい理由は、人気の伸びの速さです。ASCII.jpは、10月2日に41件だったスターが17日に30万件を超え、21日には34万7802件に達したと報じています。

※スターとは: GitHubで「気に入った」「あとで見たい」という印を付ける機能です。Scientific Americanは、これを人気のおおまかな目安と説明しています。実際に使われた数とは限りません。

なお、資料ごとに数字が少し違います。

資料 述べている内容
ASCII.jp(10月21日付) 10月2日に41件、17日に30万件突破、21日に34万7802件
Qiita体験談 10月3日時点で500強、月末に40万超
Scientific American(10月30日付) 40万超

10月初めの数字が41件と500強で食い違いますが、どちらが正しいかは資料からは確認できません。

盛り上がりの様子は、ほかにもいくつか見られます。

  • REAのDiscordコミュニティには、プリンターやテレビなどを改造した例が共有されている、とScientific Americanは伝えています。
  • 利用者が作ったプロンプト集(AIに貼り付ける指示文の集まり)が公開されています(REA-Prompts)。
  • 第三者がREAをもっと軽くした代替スキルを公開しています(leanrea)。
  • 開発者がREAを使ってArcというブラウザの無料クローン(そっくりの代替品)を作ったとするプロジェクトが、Show HNに投稿されています(Radian)。

急に伸びた理由を、作者自身が説明した資料はありません。理由の特定は、現時点ではできません。

どんな仕組み・特徴がある?

1. 機能の動きを、根拠つきで説明してくれる

「この機能はどう動くのか」を調べ、説明してもらえます。ASCII.jpによれば、根拠を示しながら説明し、再実装(同じ動きを作り直すこと)にもつなげられます。

仕組みの面では、コミュニティのプロンプト集が「ファイル名や関数名などの証拠を添える」「確定した事実と推測を分ける」よう求めています。これはREA本体の機能ではなく、使い方の工夫として紹介されたものです。

2. いろいろな種類の対象に使える

実行ファイルからウェブサイトまで、対象が幅広いのが特徴です。プロンプト集は、ネイティブバイナリ、ファームウェア、カーネル、ゲーム、Electronアプリ、APK、ウェブサイトを挙げています(REA-Prompts)。

3. 専門ツールをAIが自分で操る

これまで人が手で操作していた専門ツールを、AIが動かします。Scientific Americanによると、REAはAIエージェントがGhidraなどを自力で操るための仕組みを提供します。

※Ghidraとは: 米国の国家安全保障局(NSA)が開発した、プログラムの中身を読み解くためのツールです。

leanrea側の説明では、REAはAIと既存の解析ツールの間にMCPの層を挟む作りです。バージョン6.5.0では、AIに追加される道具が207個あるとしています(leanrea)。この数字は第三者による計測です。

4. 作り直し(再実装)までの流れも想定されている

プロンプト集には、調べたルールを小さなプログラムとして作り直させる例があります。ソフトや機能のクローンを扱う章もあります。Radianの作者は、ArcをREAで観察して挙動を測り、Arcのコードは読んでいないと説明しています。ただしREAをどう使ったかの詳細は、確認できた範囲では書かれていません。

自分に関係ある?向いている人・向いていない人

結論から言うと、非エンジニアの方が直接使う場面は、今のところ多くなさそうです。AIエージェントを導入し、コマンドで設定する必要があるためです。

向いているのは、次のような人です。

  • 自分が作った、または調査の許可を得たソフトの中身を調べたい開発者
  • セキュリティ調査や、相互運用(別のソフトと連携させること)の確認をしたい人
  • ソースコードのない古いソフトの仕組みを知りたい人

向いていないのは、他人のソフトの保護を破ったり、オンラインゲームで不正をしたりする目的の人です。プロンプト集も、こうした使い方は法律や規約に反するおそれがあると警告しています。

「普段使うサービスの裏側にREAが組み込まれていく」といった動きは、資料からは確認できません。ただし、解析が手軽になると、解析結果や、それを元にした代替ソフトが身近に現れる可能性はあります。たとえば、Qiitaの体験談の筆者は、怪しいファイルの中身をAIとREAで調べ、偽装された不正なソフトだったと判断したと書いています。この話は筆者本人の記録で、当サイトでは裏付けを取っていません。出所の怪しい「有効化ツール」などは、そもそも実行しないのが安全です。

どうやって始める?

ここからは実際に触ってみたい人向けです。読み飛ばしても全体像は分かります。

入手先は、GitHubのリポジトリ(morluto/rea)と、公式サイトrea.toolsです。公式のプロンプト集はmadewithrea.com/promptsにあります。必要なパソコンの動作環境や、対応するAIエージェントの一覧は、確認できた資料には書かれていません。

プロンプト集では、導入そのものをAIエージェントに頼む形が紹介されています。内容は「次のコマンドでREAを入れて、このエージェントにつないで。先に導入計画と設定の変更内容を見せて、私が承認してから進めて。終わったら接続を確かめて」というものです。

npx rea-agents@latest setup

最初の練習として、公式のサンプルアプリ(メモアプリ)を使う例が載っています。「Export notes」ボタンを押してからCSVファイルができるまでを、AIに追跡させる内容です。

質問のコツは、一度に聞くのを1つの機能にしておくことです。絞った質問のほうが、根拠つきの答えが返ってくるとされています。調べる対象は、自分のものか、許可を得たものに限ってください。

注意点・現時点で分かっていないことは?

法的な懸念

ASCII.jpによれば、開発者は、所有するソフトや、調査の許可を得た対象での適法な利用を求めています。Cornell Techの法学者ジェームズ・グリメルマン氏は、Scientific Americanで「営業秘密と著作権の法律にとって危機になる」と述べています。これは専門家個人の見解です。

「読み取り専用」かどうかは、資料で説明が分かれる

Qiitaの体験談は、REAは完全な読み取り専用で、改造やクラックはできないと説明しています。一方、Scientific Americanは、プログラムを分解して利用者の好みに組み直せるツールとして紹介し、プリンターやテレビを改造した例も挙げています。プロンプト集にも、ソフトのクラック研究の章があります。どちらが実態に近いかは、資料だけでは判断できません。

速さや重さについての第三者の計測

leanreaの作者は、REAの代わりに短い手順書(約8KB)だけを渡す方式と比べた結果を公開しています。同じ条件の4つの課題で、REA経由は所要時間が約627秒、費用が3.36ドルでした。leanreaは約388秒、2.17ドルです。正答の点数はREAが75点満点中75点、leanreaが74点でした。

また、実在するデスクトップアプリの解析では、REAは追加の設定が必要で、成功後は47.9秒と140MBのJSON(データ形式)を出力したそうです。単純な手作業の方法は4.8秒、24KBだったとされています。

ただしこれは、競合にあたる別プロジェクトの作者による計測です。各条件の試行は3回だけで、使ったAIモデルも1種類、パソコンも1台です。leanreaの作者自身が、REAの工夫を認めたうえで、こう書き添えています。

  • REAは「印象的でよく文書化されたプロジェクト」である。
  • REAの正確さは、leanreaと同等かそれ以上である。

この指摘に対するREA側の説明や修正は、資料の範囲では確認できません。

料金・運営など、未公表の点

REA本体は無償ですが、組み合わせるAIサービスの料金は資料からは確認できません。作者は匿名で、運営体制の詳細も分かりません。

まとめ

  • REA (Reverse Engineer Anything)は、完成したソフトの中身をAIに調べさせるための無料のツールセットです。
  • 作者は匿名のmorluto氏で、公開から約2週間でGitHubのスターが30万を超えたと報じられました。
  • 直接使うのは、AIエージェントを扱える開発者やセキュリティ関係者が中心で、非エンジニアは当面ニュースを通じて間接的に関わる場面が多そうです。
  • 「改造までできるのか」は資料で説明が分かれ、法的な議論も続いています。調べる対象は自分のものか、許可を得たものに限りましょう。
  • 速さや使いやすさの評価は、競合プロジェクトによる第三者の計測が中心です。今後の検証を待つ段階です。

よくある質問

プログラミングができなくても使えますか?

直接使うのは難しいと考えられます。REAはAIエージェントにつないで使う道具で、導入にはコマンドの実行を伴います。資料に非エンジニア向けの手順は見当たらず、まずは開発者向けのツールと捉えるのが無難です。

無料で試せますか?

ASCII.jpによると、REAはMITライセンスの範囲内で無償利用できます。ただし、組み合わせるAIサービスの利用料がどうなるかは資料からは確認できません。AI側の料金は、使うサービスごとに別途確かめる必要があります。

REAを使えばソフトのクラック(不正な制限解除)ができますか?

資料の説明は分かれています。Qiitaの体験談は「読み取り専用で改造はできない」と述べますが、Scientific Americanは改造の例を紹介しています。開発者は、所有または許可を得た対象での適法な利用を求めています。

REAは誰が作ったのですか?

作者はmorluto氏です。Scientific Americanの取材に、匿名を条件に応じたソフトウェアエンジニアとされています。もともとはゲームの逆コンパイル(ファンによるコードの組み直し)に関心があったと語っています。

なぜ急に話題になったのですか?

ASCII.jpによれば、GitHubのスターが10月2日の41件から、17日に30万件を突破しました。ただし伸びた理由を作者が説明した資料はありません。専門家の作業を広い層が試せるようになった点が注目されています。

関連記事