PRO+ 公開サンプル · ログイン不要で全文をご覧いただけます。

PRO

インストール前の試食 · ログイン不要

morluto/rea 開発・解析

根拠をたどり、アプリの動作を理解する

引き継いだアプリのコピー機能を理解したいとき。手描き動画と3枚の説明図で、問い・解析ツール・呼び出し経路・検証を順に読みます。ソースと実動作の違い、ローカル解析とモデルへの転送範囲も確認します。

68秒の動画説明図3枚選び方

01 · 動画でひと目に

コピーした内容は、どこへ行く?

管理するアプリのコピー機能を引き継ぐ6段階の説明です。音声・字幕は韓国語で、実際の解析録画ではありません。

02 · 元リポジトリが公開した画面

REAに専用の画面はありません。元リポジトリが公開した画像はこの2枚です

REAは画面を開いて使うアプリではなく、コーディングエージェントがMCPで呼び出したり、端末でコマンドとして使ったりする解析ツールです。元リポジトリが公開した画面はこれだけです。1枚目は他社の解析アプリHopperの画面で、2枚目は公式事例を描いたイラストです。どちらもREAを実行した録画ではありません。

Hopper Disassemblerのウィンドウで/usr/bin/trueを解析し、下のログ欄にREAのbootstrap.pyの実行記録が見えるスクリーンショット(REAの元READMEの画像、REA自体の画面ではない)
Hopperの画面内でREAの接続スクリプトが動いている様子READMEの冒頭に載っているスクリーンショットです。原文の説明は「REAがネイティブの実行ファイルを調べながら、Hopperの中で解析用の接続(bridge)を起動している様子」です。映っているウィンドウはCryptic Appsの商用アプリHopper Disassemblerの画面で、REA自体の画面ではありません。原文には、作業にHopperが必要なときはREAがHopperを自動で起動すると書かれています。ギット飯が画像を見て確認したこと: 解析対象は/usr/bin/true(Mach-O、aarch64)で、下のログ欄の最終行にREAのスクリプト(/tmp/rea-…/bootstrap.py)を実行したという行が見えます。

画像: morluto/reaのdocs/assets/rea-hopper-analysis.pngとrea-showcases.png(rea-agents 6.7.0タグのコミット27dc42d)、MIT。Hopperの画面はギット飯がサイズを変えずにWebPへ変換しただけで、事例のイラストは元のファイルのままです。画面内のHopper Disassemblerとその画面はCryptic Appsの商用ソフトウェアで(REAの第三者告知)、REAのMITライセンスはHopperに関する権利を与えません。DX-Ball・Notion・TH04の名前は各所有者に帰属します。ギット飯が撮影した画面ではなく、ギット飯はREAもHopperもインストール・実行していません。

03 · すぐに始める

エージェントに接続し、公式のサンプルアプリで最初の調査まで

引き継いだアプリのボタン一つが何をしているのか知りたいとします。REAは、使っているコーディングエージェント(Claude Code・Codex・Cursorなど)にMCPで接続して使うのが基本です。接続コマンド1行を端末に貼り付け、表示される計画を読んでから承認します。練習は自分のアプリより先に、元リポジトリが用意したサンプルアプリで行ってください。調べてよいアプリだけを扱う必要があるので、下の「使う前に必ず知っておくこと」も先に読んでください。

rea-agents 6.7.0(2026-10-18 UTCリリース、タグのコミット27dc42d)の文書に基づく · 2026-10-19確認 · ギット飯は文書を読んだだけで、REAを実際にインストール・実行していません。6.7.0のリリースはNode.js 22.x(22.19以降)・24.x(24.11以降)・26以降とnpmを必要とし、Node.js 23・25とプレリリース版には対応していません。REAがNode.jsやnpmを代わりに更新することはありません。REAは変化が速く、6.0.0(10月8日)から6.7.0(10月18日)までの10日間で8回リリースされました。@latestの付いたコマンドは実行時の最新版を取得するため、画面がこの案内と違うときは原文を先に確認してください。

どうやって始める?

コーディングエージェントに接続(元リポジトリのおすすめ)

Claude Code・Codex・Cursor・Gemini CLI・Claude Desktopのようなエージェントに調査を任せたいとき

① Node.jsのバージョンを確認

node -v npm -v

② 接続の設定(端末)

npx rea-agents@latest setup

Windows PowerShellで「running scripts is disabled」というエラーが出たら

npx.cmd rea-agents@latest setup

node -vが22.x(v22.19以降)・24.x(v24.11以降)・v26以降なら準備完了です(23・25は非対応)。バージョンが古い、またはコマンドが見つからないと表示されたら、先にNode.js 24 LTSをインストールします(元の始め方ガイド: Windowsはwinget、macOSはnodejs.orgのインストーラーかHomebrew)。setupは接続するエージェントを選ばせ(矢印キーで移動、Spaceで選択、Enterで次へ)、変更する設定ファイルのパスと内容を計画として見せてから承認を求めます。エージェントの設定を変える前にも、Hopperをインストールする前にも別に確認します。承認すると、REAのMCP接続と調査用のスキル(作業の手順)を入れ、既存の設定はバックアップします。npmがパッケージのダウンロードを尋ねるのと、REAの設定の承認は別物です。

Claude Desktopは承認する前に完全に終了してください。起動したままだと登録が上書きされることがあると原文に書かれています。終わったらエージェントを再起動します: デスクトップアプリ(Claude Desktop・Cursor・Windsurf・VS Code)はウィンドウを閉じるだけでなくアプリを終了してから開き直し(macOSは⌘Q)、端末のエージェント(Claude Code・Codex・Gemini CLI)はセッションを終えて新しく始めます。最初の練習では、任意のHopperのインストールを飛ばしてかまいません。READMEのバージョンなしのコマンド(npx rea-agents setup)は今のプロジェクトにインストールされたREAを選ぶことがあるため、インストール文書は最新のリリースを使うなら@latestを付けるよう案内しています。

公式のサンプルアプリを端末で解析

エージェントに接続する前に、REAが何を返すのかを公式サンプルでまず見たいとき

npx -y rea-agents@latest analyze-javascript-application \ /absolute/path/to/notes-example --json

元のWebサイトのサンプルnotes-example.zip(Export notesボタンがある、ファイル6つのElectronアプリ)をダウンロードし、展開したフォルダーを対象に下のコマンドを実行します。Electronのインストールやアプリの起動はせず、ファイルを読むだけの静的解析なので、ネイティブの解析エンジンも不要です。原文には、結果のnormalized_result.summary.ipcにIPCチャンネル1つと対応するハンドラー(handler)1つが見つかり、ソースの位置はnormalized_result.graphにあると書かれています。終了コード0は処理が完了したという意味で、それでも結果に部分的な根拠・警告・未解決の問いが含まれることがあります。Windowsではパスを"D:/apps/example"のように書きます。

サンプルのZIPはhttps://rea.tools/examples/notes-example.zip から取得します。元のWebサイトが配布するファイルなので、コミットで固定できません(同じ6つのファイルの元はリポジトリのwebsite/public/examples/notes-electron/にあります)。ギット飯はこのZIPをダウンロードも展開もしていません。JavaScriptガイドに載っているsummary.ipcの結果例はREA 4.1.0で記録されたものです。Linuxでは、procps互換のpsがPATHにないとこの解析は始まりません。

reaコマンドのインストール(グローバル)

端末でreaコマンドをよく使うとき

npm install --global rea-agents rea --help

READMEの2行です。シェルのどこからでもreaを使えるようグローバル(--global)にインストールし、ヘルプでコマンドの一覧を確認します。--globalを付けずにnpm install rea-agentsだけを実行すると、今のプロジェクトのnode_modules/.binにだけ入り、シェルからreaが見えません。

グローバルインストールだけでは、エージェントの既存のnpxの登録は変わりません。グローバルインストールからエージェントを接続するには、rea setupを実行して計画を承認し、エージェントを再起動します。更新はrea updateです。ネイティブの実行ファイルを解析するには、Hopper・Ghidra・IDAのような解析エンジンを先に設定する必要があります。ギット飯の補足: インストール文書には、インターネット上のインストールスクリプトをシェルに直接渡す方法もありますが、バージョンが固定されていないmainブランチのスクリプトを取得するため、このページではおすすめしません。

rea-agents 6.7.0リリースページ ↗

接続したあと

  1. 接続状態を確認(doctor)

    codexの部分を自分のエージェントの設定IDに置き換えます(例: claude_code、claude_desktop、cursor、gemini_cli)。成功すると"healthy": trueと表示されます。doctorは設定ファイルと準備状態を読むだけで、いま起動しているエージェントとの接続までは確認しません。

    npx -y rea-agents@latest doctor --client codex --json

  2. エージェントに接続の確認を頼む

    エージェントを再起動してから、原文の確認の文をそのまま貼り付けます。REAのツール一覧が表示されれば接続できています。設定は合っているのにツールが見えないときは、エージェントの再起動か再接続が必要だと原文に書かれています。

    Check that REA is connected and show me which REA tools you can use.

  3. 公式サンプルで最初の調査を頼む

    元の始め方ガイドの最初の依頼です。エージェントがサンプルのZIPを新しいフォルダーにダウンロードして展開し、Export notesボタンを押したときに何が起きるかを調べます。原文が例に挙げる答え: ボタンがnotes:exportメッセージを送り、メインプロセスがノートをCSVにしてユーザーのDownloadsフォルダーにnotes.csvを書き込み、列はidとtitleです。ファイルと行の位置が一緒に示されるはずです。

    Download https://rea.tools/examples/notes-example.zip into a new example folder and unpack it. Use REA to find what happens when I click Export notes. Show where notes.csv is written, which fields it contains, and the relevant files and lines.

  4. 説明を元のコードと突き合わせる

    ギット飯の補足: エージェントの説明は確かめるべき仮説です。示されたファイルと行を自分で開き、確認できたことと推測を分けて書き留めてください。自分のアプリに移るときも、一つの機能と、正常な入力・失敗する入力を一つずつ用意して始めると結果を比べやすくなります。

バージョンを6.7.0に固定したいなら

@latestは実行のたびにその時点の最新版を取得します。このページと同じ6.7.0にそろえたいときの方法です。原文は、使い続けるMCPの登録には正確なバージョンを一つ使うよう案内しており、setupも実行したバージョンで登録を固定します。

6.7.0で接続の設定(ギット飯の補足: 原文のコマンドの@latestを6.7.0に置き換えたもの)

npx rea-agents@6.7.0 setup

setupを使わないクライアントの設定ファイルに直接書く内容(インストール文書の原文のまま)

{ "mcpServers": { "rea": { "command": "npx", "args": ["-y", "rea-agents@6.7.0", "mcp"] } } }

ギット飯の補足: 固定すると、その後に出たバグ修正を受け取れません。原文は、REAは変化が速くバグ修正も多いため、最新に保つよう勧めています。あとで更新するときは、npx rea-agents@latest setupをもう一度実行して計画を承認し、エージェントを再起動します。設定ファイルを直接編集するときは、原文の案内どおり先にクライアントを終了してください。

使う前に必ず知っておくこと(権限・法律・データ)

  • 調べてよいソフトウェアだけを扱ってください。原文には、REAは合法的な研究・教育・相互運用・ソフトウェアの保存、そして自分が所有している、または調査の権限を得たソフトウェアの解析のための道具だと書かれています。公開されているソフトウェアであることや、ファイルを持っていることだけでは、すべての操作が許されるわけではないとも書かれています。
  • 元のプロジェクトは、DRM・ライセンス確認・アンチチートのような技術的保護手段の回避、ゲームのチート開発やオンラインサービスの改ざん、権限のないシステムの認証・アクセス制御の回避、商用ソフトウェアの複製や保護されたコード・素材の再現を支援せず、手伝いもしないと明言しています。
  • リバースエンジニアリングは、国によって、または解析するソフトウェアのライセンスによって制限されることがあります。必要な許可を得て、法律・契約・利用規約を守る責任は使う人にあります。解析結果やソースのような出力を得ても、元のプログラムやその出力に対する権利が生じるわけではありません。
  • ファイルを読むだけの静的解析と違い、ランタイムの記録は対象を自分のユーザー権限で実行したり操作したりします。原文には、プロセスキャプチャーはサンドボックスではないと書かれ、ファイルを調べる権限があっても実行・傍受・デバイスの変更まで必ずしも許されたわけではないとも書かれています。信頼できない対象は、適切な別の環境で扱ってください。
  • IDA・Hopper・JEBのような商用ツールは、正規に入手し、それぞれのライセンス条件の範囲で使う必要があります。REAはツールのライセンス・キー・アクティベーションの権利を与えず、クラック・盗まれたキー・許可のないキーの共有・ライセンス制限の回避は認められていません。setupが承認後にHopperの公式インストーラーを取得しても、有料ライセンスが得られるわけではありません。
  • REAは対象を自分のコンピューターで解析しますが、結果はエージェントが受け取り、そのエージェントのモデル提供者には独自のデータ方針があります。ギット飯の補足: 社内のコードや顧客データなら、何がモデルに送られるかを先に決めてください。
  • setupはエージェントの設定ファイルを変更し(既存の設定はバックアップ)、別に承認するとHopperをインストールします。macOSでは公式のDMGを確認してから~/Applicationsにインストールし、管理者権限やHomebrewは使いません。Linuxでは公式パッケージを確認してから、ディストリビューションのパッケージマネージャーでインストールします。ギット飯は、Linuxで管理者(root)権限が必要かどうかは確認できていません。
  • 公式の配布元からだけ取得してください。原文はmorluto/rea、rea.tools、npmのrea-agentsパッケージを公式の経路として挙げ、名前の似たリポジトリやコピーされたREADMEは公式のダウンロードである根拠にならないと書いています。

AIアプリに接続を任せるなら

下の指示文をClaude CodeやCodexに貼り付けると、固定した6.7.0の文書どおりに進め、Node.jsのインストール・ダウンロード・解析エンジンのインストールの前には先に確認し、設定は読み取り専用の計画(--dry-run)だけを見せ、公式サンプルか権限を確認したパスだけを解析します。設定の承認とエージェントの再起動は自分で行います。指示文はギット飯が公式文書をもとに書いたものです。

AIアプリに貼り付ける接続の指示文

インストール文書: setupの開始・計画の確認 ↗始め方ガイド: Node.jsの確認・Windows ↗始め方ガイド: 接続・doctor・最初の調査 ↗JavaScriptガイド: サンプルの解析 ↗サンプルアプリの元ファイル6つ(リポジトリ) ↗README: 端末・グローバルインストール・更新 ↗README: 解析対象・Node.jsの要件 ↗インストール文書: 手動登録・バージョン固定・グローバルインストール ↗インストール文書: doctorが確認する範囲 ↗インストール文書: Hopperの自動インストール ↗CLI文書: 終了コード ↗プロセスキャプチャー: サンドボックスではない ↗README: Hopperを先に起動する必要がある? ↗README: アプリをアップロードする? ↗README: 免責(合法的な利用) ↗責任ある利用(DISCLAIMER) ↗第三者告知: 商用ツールの条件 ↗ライセンス: MIT ↗

仕組みの説明図3枚を開く

ソースが不足したアプリの一機能を説明する場面です。公式資料に基づく説明図で問いを絞り、根拠と検証する内容を分けます。 図のラベルは韓国語です。

01 / 調査範囲の説明図

対象・版・一機能から書こう

対象版、コピー機能、確認する問いを順に決める説明図
ギット飯の説明図(韓国語)根拠の文書 ↗関連文書 ↗説明図を大きく見る ↗
図が説明すること
同じ機能でも版やファイルが変われば根拠が変わります。対象・版・問いを一緒に記録します。
自分の状況なら
ソース不足の社内アプリを引き継ぎ、特定の動作を説明する出発点です。
自分で確認すること
権限と対象ファイルを用意し、何を同じ動作とみなすか先に決めます。

公式文書を基にギット飯が作った説明図です。新たな解析実験や他社アプリの実行は行っていません。

説明図・動画: ギット飯。根拠: morluto・REA公式文書。確認: 2026年10月19日。 原本文書のライセンス ↗

自分の条件なら、どちらを選ぶ?

自分の状況に合わせて選ぶ

3つの質問で結論まで

答えを選ぶと、下の比較と判断の根拠をもとにギット飯がまとめた結論がすぐに表示されます。

調べるアプリとファイルに権限はありますか?
知りたいことは?
いまは?

3つ選ぶと結論が表示されます。

結論は、下の比較と「条件が変わったら」の判断、元の分析の推薦・保留の条件をそのまま反映したものです。 原文: REAの働き方 ↗

ひと目で比較

同じ「コピー機能が作るデータの説明」を、既存の解析エンジンにREAを加える方法と、Ghidra・DevToolsを直接使う方法で比べました(REA 6.7.0の文書に基づく)。

基準REA + 既存の解析エンジンGhidra・DevToolsを直接操作
調査の出発点エージェントの質問をMCP・CLIの解析につなぐ解析者がファイル・関数・通信を直接開く
準備と費用Node.js・エージェントの設定、ネイティブエンジンは別Ghidra独自のツール群 / Chrome内蔵のDevTools
根拠と検証コード・参照・未確認事項、説明の検証は別逆コンパイル・デバッグ・通信の資料を直接解釈
データと保守ローカルで解析、結果はエージェントのモデルの方針に従うエージェントは省略可、キャプチャーとツールの版を管理

こんなときは REA + 既存の解析エンジン複数の質問と解析結果をエージェントとつないで説明する機会が多く、原本を確認する担当者がいるとき。

こんなときは Ghidra・DevToolsを直接操作問いが限定され、既存ツールとチームの手順で再現可能な答えが得られるとき。

基準ごとの詳しい説明と出典
調査の出発点
REA + 既存の解析エンジン
エージェントの質問をMCP・CLIの解析作業につなぎます。
Ghidra・DevToolsを直接操作
解析者が直接ファイル・関数・通信を開き、仮説をたどります。

質問を繰り返し整理する必要があるか、慣れたツールで答えが出るかを考えます。

1 ↗2 ↗3 ↗

準備と費用
REA + 既存の解析エンジン
Node.jsとエージェント設定が必要で、ネイティブ解析エンジンは別です。REAのMITライセンスはHopperやモデルの費用までなくしません。
Ghidra・DevToolsを直接操作
Ghidraは独自のツール群、DevToolsはChrome内蔵ツールを使います。解析の習熟と調査時間は必要です。

無料で導入できるかだけでなく、エンジン・エージェント・確認時間を合わせて考えます。

1 ↗2 ↗3 ↗

根拠と検証
REA + 既存の解析エンジン
コード・参照・未確認事項を読み、エージェントが説明します。その説明の検証は別です。
Ghidra・DevToolsを直接操作
逆コンパイル・デバッグ・通信の資料を解析者が解釈します。出力だけで業務動作は保証されません。

どちらも同じ入力で結果を確かめ、根拠を残します。

1 ↗2 ↗3 ↗4 ↗

データと保守
REA + 既存の解析エンジン
解析はローカルでも、結果を受け取るエージェントのモデル提供者の方針は別です。npm版・登録サーバー・main文書の版も確認します。
Ghidra・DevToolsを直接操作
直接調査する手順ではエージェント接続を省けます。キャプチャーやダンプのデータと各ツールの版は管理が必要です。

外部モデルに渡せない資料なら、結果の受け渡し経路から確認します。

1 ↗2 ↗3 ↗

導入前に確認する2つ

インストール前に確認しておくと、無駄足を減らせます。チェックはこの画面でのみ表示されます。

  • 合わないときは 未対応なら解析経路から変える必要があります。

  • 合わないときは ローカル解析だけでは、データの送信範囲は決まりません。

ギット飯が想定した例と根拠

ソースが不足するアプリのコピー機能を引き継ぎます。開発者1人が対象ファイルを解析し、コピーしたデータが同じか自分で確かめられる状況です。

  • 対象アプリとファイルを調べる権限があります。
  • 開発者が原本を読み、小さなテストを作れます。
  • 成果や速度向上はまだ測定していません。

2026年10月18日リリースのREA 6.7.0(rea-agents-6.7.0タグのコミット27dc42d)と公式文書に基づく解説です。公式Notion事例はDesktop 7.6.1と別時点のWeb資料を扱い、事例に載ったREAの結果は公開済みのREA 4.1.0パッケージで記録され、一部検証は抽出モジュールの範囲です。ギット飯が新しく解析・再現した結果ではありません。

使いどころがわかる解説

コピー機能の呼び出し経路を次の担当者に残すなら

管理するアプリのソースが不足する状況を想定したガイドです。実際の実行結果ではありません。

01 · 役割を分ける

任せる部分と、自分で担う部分

REA に任せる

  • 解析エンジンへの接続と根拠の照会

自分たちで準備・運用する

  • 調査する権限・範囲と結果の検証

導入より先に、確かめる問いを決めましょう。

さらに詳しく:原作の読み方と確認事項

ソースが不足する社内Electronアプリを引き継いだとします。「コピー機能が作るデータを説明する」という作業で、REAを加えるか、手元のツールを直接使うかを比べます。

02 · 読むだけで終わらせない

アプリの一機能について、根拠の位置と期待結果を一緒に残す。

以下は自分の条件に照らして確認するための手順です。ギット飯による実行結果ではありません。

  1. 対象版とファイルを記録し、成功する入力と失敗する入力を一つずつ用意します。

    残すもの何を同じ動作とみなすか説明できます。

  2. REAが返したコード位置と呼び出し関係を原本で開き、推測と確認済みの事実を分けます。

    残すもの別の担当者も根拠をたどれます。

  3. 説明や再実装を用意した入力で検証し、既存ツールだけの場合と調査時間を比べます。

    残すもの導入の利点と追加の確認負担を一緒に判断できます。

次へ進める条件

根拠を追跡でき、期待結果を再現でき、チームの確認時間が減るなら範囲を広げます。

立ち止まる条件

根拠が欠ける、未対応形式やエンジンの問題が続く場合は止め、既存ツールや提供元の資料に戻ります。

判断の根拠と確認項目を詳しく読む

REAは根拠をつなぎ、検証は別に行う

公式資料で確認
エージェントはMCPでREAに調査を依頼し、コード・参照・未確認事項を受け取ります。CLIでも同じワークフローを使えます。
ギット飯の解釈
原本の位置をたどれる説明を残す道具です。その説明が実動作と同じかは別のテストが必要です。
導入前の判断
対象版と一機能を決め、正常入力と失敗入力を比べます。

ローカル解析とモデル転送は別の段階

公式資料で確認
解析はローカルで実行されますが、結果を受け取るエージェントのモデルは別の設定です。静的解析とランタイム取得では実行時の影響も異なります。
ギット飯の解釈
ローカルという表現だけで資料が外部へ渡らないとは判断できません。
導入前の判断
調査権限、実行範囲、返すコードやデータを先に決めます。

向いている場面

  • 複数の解析結果をエージェントと読みつなぎ、根拠のある説明を残したい開発者。
  • アプリ全体ではなく、書き出し・コピーなど一機能から調査できるチーム。

別の選択肢も比べたい場面

  • 導入すれば、あらゆるアプリの元ソースと同じ実装が自動で得られると期待するとき。
  • 根拠を読む担当者や、結果を確認するテストがないとき。

試す前に確認すること

  • 対象ファイル・アプリの版と、調べる一機能を決めましたか?
  • 対象形式に必要なエンジンとホスト対応を確認しましたか?
  • エージェントに渡すコードとデータの範囲を確認しましたか?

選んだ理由:アプリを自動複製する期待ではなく、一機能のコードと参照を読み、自分で結果を確かめる過程を示します。

出典と確認範囲

公式資料とコードをもとに、ギット飯が説明図と動画を制作しました。実機を操作した録画や、新しく動作・導入効果を測定した記録ではありません。

作者
morluto and REA contributors
確認日
2026-10-19
ライセンス
MIT ↗