REA、AIエージェントでソフトを再構築
- •REAはAIコーディングエージェントとリバースエンジニアリングツールを連携し、ソフトを分析して機能を再構築
- •Notebookcheckのテストでは、追加質問3回の後、10〜15分でVLCのクローンを作成
- •クローンはMP3再生やショートカットに対応した一方、サブフォルダーを扱えず、全画面表示は黒い画面に
オープンソースツールのREA(Reverse Engineer Anything)は、Claude CodeやCodexなどのAIコーディングエージェントを、Ghidra、Hopper、IDAといったリバースエンジニアリング用ツールに接続します。外部ソフトとAIツールをつなぐオープン標準のModel Context Protocol(MCP)を通じて連携し、ソースコードがなくても自然言語の指示からソフトを分析します。プログラムの機能を基に読みやすいコードを再構成し、エージェントが似た機能を持つ独立した実装を作れるようにします。ただし、元のソースコードを常に正確に復元できるわけではありません。
Notebookcheckは、筆者が高価だと判断したClaude Codeではなく、広告付き無料アプリのFreebuffを使ってREAを試しました。エージェントにREAと依存ソフト、MCP、Ghidraをインストールするよう指示した後、VLC Media Playerの再現を依頼。エージェントは追加で3つ質問し、10〜15分でクローンを作りました。VLCのlibVLCエンジンではなくChromiumを使ったため、一部の動画形式は再生できないといいます。
クローンはウィンドウにドラッグしたMP3を再生し、フォルダーを開き、シークやミュートのキーボードショートカットにも対応しました。一方、フォルダーを開いてもサブフォルダーは表示されず、全画面表示では黒い画面になりました。筆者によると、イコライザー、ショートカット、プレイリストも機能しました。
記事は、REAによってリバースエンジニアリングを始める技術的なハードルが下がる一方、ツールの導入や操作、結果の確認には知識が必要だとしています。YouTubeなどのチュートリアルが、いくつかの難所を越える助けになる可能性も筆者は指摘しました。機能を新しいコードで再構築することは、保護されたソースコードを複製することとは法的に異なる場合がありますが、あらゆる複製が合法とは限らず、記事は再構築が許される条件を示していません。
記事は、ソフトの再現が安価になれば競争が激しくなり、独占的なコードや機能の優位性が薄れる可能性があると論じています。使いやすさ、信頼性、データ、エコシステム、顧客サポート、信頼、継続的な開発がより重要になる可能性がある一方、大企業が優位に立ち、小規模な開発者への圧力が強まるおそれもあるとしています。筆者は、ソフトのライセンスを巡る長期的な課題として位置づけています。ソフトはかつてコピーを購入する形でしたが、その後サブスクリプションによる利用許諾が広がり、アプリを自作または再構築できる能力がそのモデルに影響し得ると述べています。