Files
reverse-engineering-anything/docs/readme/README_ja.md
T

35 KiB
Raw Blame History

English · 简䜓䞭文 · 繁體䞭文 · 日本語 · 한국얎 · TÃŒrkçe · РусскОй · Tiếng Việt · à¹„àž—àž¢ · Deutsch · Español · Français · УкраїМська · Polski · Português (Brasil) · العرؚية · فارسی · Bahasa Indonesia · Italiano · ΕλληΜικά · àŽ®àŽ²àŽ¯àŽŸàŽ³àŽ‚ · Roman Urdu · Română

REAあらゆるものをリバヌス゚ンゞニアリング

バむナリ、アプリケヌション、実行時の動䜜を、ひず぀の MCP でリバヌス゚ンゞニアリング。

気に入った機胜を芋぀けたら、その仕組みをバむナリのレベルたで理解する。

npm version MCP tool catalog Node.js requirements skills.sh MIT license Discord

morluto%2Frea | Trendshift

りェブサむト · ガむド · 事䟋

クむックスタヌト · REA の仕組み · 分析できる察象 · 事䟋 · RL 環境を構築する · よくある質問 · GNU objdump・Rizin ツヌル · ドキュメント

npx rea-agents setup

Important

REA の公匏配垃元 morluto/rea, rea.tools, rea-agents (npm). むンストヌルずリリヌスのリンクは、これらの公匏配垃元からたどっおください。䌌たリポゞトリ名やコピヌされた README だけでは、公匏の配垃物ずは確認できたせん。


アプリに、自分の補品にも取り入れたい機胜を芋぀けたしたか゚ヌゞェントに REA で調査を䟝頌しおください。゜ヌスコヌドがなくおもアプリを調べ、機胜の仕組みを説明し、根拠を瀺したうえで、あなたのプロゞェクト向けに実装できたす。

REA ぱヌゞェントを分析ツヌルに぀なぎ、ネむティブバむナリ、JavaScript や Electron のアプリ、.NET アセンブリ、りェブサむトを調べられるようにしたす。同じツヌルをタヌミナルからも䜿えたす。分析はロヌカルで実行され、結果には各結論を裏付ける根拠ず制限事項が含たれたす。

セットアップぱヌゞェントに REA を登録し、察応するワヌクフロヌ指瀺をむンストヌルしたす。ネむティブ解析には既存の Hopper、Ghidra、IDA を䜿甚でき、承認すれば Hopper をむンストヌルできたす。静的 JavaScript 解析にネむティブ解析゚ンゞンは䞍芁です。

**REA のりェブサむト**で、セットアップ手順、図解ガむド、実際の事䟋を確認できたす。

クむックスタヌト

Linux での Ghidra、JADX、ファヌムりェアツヌルの起動ず静的 JavaScript/Electron 解析には、プロセス所有暩の確認甚に、REA の PATH 䞊に procps 互換の ps が必芁です。察凊方法はむンストヌルガむドの Linux 前提条件を参照しおください。

゚ヌゞェントを蚭定する

Node.js ず npm がむンストヌルされおいる環境で実行したす。

npx rea-agents setup

䜿う゚ヌゞェントを遞び、予定されおいる倉曎を確認しお承認しおください。セットアップは REA の MCP サヌバヌず察応するワヌクフロヌの手順を远加し、既存の蚭定をバックアップしたす。完了埌に゚ヌゞェントを再起動しおください。

セットアップは Claude Code、Codex、Cursor、Gemini CLI、Grok Build、およびその他の゚ヌゞェントに察応しおいたす。プロバむダヌの蚭定ず MCP の手動登録に぀いおは、むンストヌルずセットアップを参照しおください。

MCP は既定でコンパクトな入力スキヌマを䜿甚したす。完党なフィヌルド説明ず入れ子の怜蚌情報が必芁な堎合は、MCP 登録に REA_MCP_INPUT_SCHEMA_PROFILE=full を蚭定しおください。どちらも党ツヌルず同じ正芏サヌバヌ怜蚌を維持したす。詳现は MCP 契玄ガむドを参照しおください。

゚ヌゞェントに䟝頌する

Notes アプリの怜玢機胜の仕組みを調べ、根拠を瀺しお、私のプロゞェクトにも同様の機胜を実装しおください。

Notes を察象のアプリに眮き換え、理解したい機胜を指定しおください。

タヌミナルを䜿う

展開枈みの JavaScript/Electron アプリのディレクトリ、たたは ASAR を調べたす。

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

結果にはモゞュヌル、むンポヌト、Electron の境界ず、それらの根拠が含たれたす。パスは察象に合わせお倉曎しおください。Windows では、たずえば "D:/apps/example" を指定したす。

日垞的に䜿う堎合は、rea コマンドをむンストヌルできたす。

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

ネむティブ分析には、先にプロバむダヌの蚭定が必芁です。ネむティブ分析のコマンド、プロバむダヌの遞択、スナップショット、スクリプトでの利甚は、CLI ず Evidence のガむドを参照しおください。

REA を曎新する

REA は曎新が速く、新しいリリヌスには頻繁にバグ修正が含たれたす。むンストヌルしたバヌゞョンを最新に保っおください。

npm install --global / bun add --global でむンストヌルした CLI の堎合

rea update

rea --update は rea update の別名で、同じグロヌバル出力オプションを受け付けたす。曎新コマンドが保持する stdout/stderr は合蚈 4 MiB たでです。倧きすぎるメタデヌタは終了埌に拒吊され、詳现なむンストヌル出力は制限付きで保持されたす。進捗出力は端末のバックプレッシャヌに埓い、送信枈みの曞き蟌み完了を埅ちたす。

Bun のグロヌバル曎新には Bun 1.2.17 以降が必芁です。叀い堎合は、rea update の前に Bun を手動で曎新しおください。

゚ヌゞェントの登録ずスキルを曎新するには、曎新凊理が衚瀺するセットアップコマンドを実行しおください。

npx を䜿っおいる堎合は、次のコマンドで゚ヌゞェントの蚭定を曎新したす。

npx rea-agents@latest setup

蚭定の倉曎を確認し、゚ヌゞェントを再起動しおください。単発の CLI 操䜜では、npx rea-agents@latest に続けおコマンドを指定したす。

Bun では npx rea-agents@latest の代わりに bunx rea-agents@latest を䜿っおください。

REA の仕組み

゚ヌゞェントは MCP 経由で REA を呌び出し、察象を調べお関連するコヌドを远跡したす。REA は調査結果ず根拠を返したす。゚ヌゞェントはそれを䜿っお远加の質問をしたり、動䜜を説明したり、実装を曞いおテストしたりしたす。CLI コマンドも同じワヌクフロヌを䜿いたす。

REA の調査フロヌ゚ヌゞェントがロヌカルの察象に぀いお質問し、REA が分析ツヌルで調査・远跡したす。゚ヌゞェントは返されたコヌド、参照、未解明の点を䜿い、説明、実装、テストを行いたす。

原寞倧の図を開く。

分析できる察象

REA には Node.js 22.x>=22.23.4、24.x>=24.22.1、たたは 26+ (>=26.12.1) ず npm が必芁です。远加のツヌルや察応ホストは、察象によっお異なりたす。

察象 REA が返すもの 芁件ずガむド
ネむティブバむナリ 疑䌌コヌド、アセンブリ、文字列、シンボル、呌び出し、参照 Hopper、Ghidra、たたは IDAネむティブ分析
オフラむン ELF レむアりト セクション、セグメント、元のシンボル再配眮情報、静的解析によるセキュリティ察策の候補 Linux x64 で利甚者が甚意する pwntoolsバむナリ蚺断
PE certificates Authenticode WIN_CERTIFICATE entries and PKCS#7 signer/X.509 identity fields Built-in static PE inspection; PE certificates
PE imports Import and delay-load DLL names, ordinals, IAT RVAs and pefile import hash Built-in static PE inspection; PE imports
EVM バむトコヌド ディスパッチセレクタヌ、バむトオフセット、掚定された匕数ず状態倉曎の可吊 Linux x64 䞊のロヌカルの生バむト16 進数の入力ファむルオフラむン EVM ガむド
Rust binaries Embedded cargo-auditable dependency list Rust binaries
ELF notes PT_NOTE/SHT_NOTE owners, types, GNU build-id and ABI-tag fields Built-in static ELF inspection; ELF notes
Apple IPS crashes .ips metadata, threads, images, registers and crash classes Built-in static JSON inspection; Apple IPS
Linux kernel modules .modinfo keys, __versions CRCs, this_module presence, and signature trailer Built-in static ELF inspection; kernel modules
Erlang BEAM IFF chunks, atoms, exports, and tables Built-in static BEAM inspection; Erlang BEAM
蚘録枈みの Linux クラッシュ 生の note レコヌド、蚘録された党スレッドのレゞスタヌシグナル、任意のマッピング候補 Linux x64 で利甚者が甚意する pwntoolsGDB/pwndbg は任意蚘録枈みクラッシュ
デスクトップのむンストヌル先 ランタむム候補、根拠ファむル、コンポヌネントの目印、次の調査手順 䞊限付きのディレクトリ・ヘッダヌ怜査デスクトップアプリ
JavaScript / Electron モゞュヌル、むンポヌト、゜ヌスマップ、ルヌト、IPC、ネむティブアドオンの関係 Node.js ず npmアプリケヌション分析; Linux: procps ps
りェブサむト ペヌゞ構造、スクリプト、ネットワヌクの芳枬結果、䟝頌されたスクリヌンショット Chrome 系ブラりザヌブラりザヌ分析
保存枈みのネットワヌクキャプチャ リク゚スト、レスポンス、取埗可胜なペむロヌド、゜ヌス内の䜍眮 HAR / Fiddler Everywhere SAZmitmproxy ネむティブ圢匏のキャプチャには Linux 䞊の mitmdumpキャプチャガむド
パケットキャプチャ ゚ンドポむント、DNS、TLS SNI、プロトコル分垃、HTTPリク゚スト 呌び出し偎が甚意した tshark ず capinfospcapガむド
.NET アセンブリ メタデヌタ、CIL 呜什、宣蚀されたネむティブ䟝存関係、ビルドの比范 静的な怜査マネヌゞドコヌドのガむド
PyInstaller CArchive, PYZ, Python bytecode Static inspection; Python packaged applications
Android APK マニフェストの宣蚀、クラス、逆コンパむルされたメ゜ッド、参照 Linux/macOS/Windows x64 䞊のヘッドレス JADX ず完党な JDKAndroid ガむド
Android デバむス デバむス、パッケヌゞ、プロセス、ログ、ダンプ、スクリヌンキャプチャ、APK/ファむル転送 呌び出し偎が甚意した adb゚ミュレヌタヌたたは実機ADB ガむド
JEBプロゞェクト ゚ンゞンによるプロゞェクトナニット、アヌティファクトのダむゞェスト、型/メ゜ッドの擬䌌コヌド 呌び出し偎が起動し MCP を提䟛する JEB クラむアントREA_JEB_MCP_URL で遞択JEB ガむド
Android リ゜ヌス デコヌドされたマニフェスト、文字列テヌブル、ロケヌル、バヌゞョン情報 呌び出し偎が甚意した Apktool ランチャヌリ゜ヌスガむド
Flutter アプリ Dart スナップショットハッシュ、ABI ごずのラむブラリダむゞェスト、゚ンゞンビルドの来歎 䞍芁静的 APK 解析Flutter ガむド
ファヌムりェア 領域、抜出結果、ネむティブ分析ぞの匕き継ぎ Linux 䞊の Binwalk / Unblobファヌムりェアガむド
蚘録枈みパケット 遞択フィヌルド、繰り返し倀、フィルタヌ、デコヌド指定 Linux: TShark 4.x + prlimit; キャプチャガむド
蚘録枈みロゞック信号 デコヌダ泚釈、サンプル範囲、蚺断情報 Linux: sigrok-cli 0.7.2 + prlimit; 信号蚘録ガむド
パッケヌゞずリ゜ヌス ファむル䞀芧、ダむゞェスト、plist、Apple バンドルの構造、抜出されたリ゜ヌス アヌティファクトず JavaScript のガむド、Apple アプリケヌション
プロセスの動䜜 タヌミナル出力、察話、終了ずファむルシステムの芳枬結果、実行の比范 ネむティブ PTY を備えた Linux/macOSプロセスキャプチャ
Go バむナリ 埋め蟌みコンパむラバヌゞョン、モゞュヌル、眮換、ビルド蚭定 組み蟌みの静的解析 ELF/PE/thin Mach-O; Go のむンストヌルは䞍芁
SQLite デヌタベヌス テヌブル、列、むンデックス、ビュヌ、トリガヌ、遞択した通垞テヌブルの行 ロヌカル DB/WAL スナップショット。ネむティブ SQLite 制限 API を備える Node.js 24.x >=24.15 たたは 26+
GPU コヌドオブゞェクト CUDA/HIP タヌゲット、遞択したカヌネルの匕数ずリ゜ヌス、保持された PTX 組み蟌みの静的解析 ELF/PE/fatbin/CUBIN/PTX; GPU
モデルファむル GGUF / safetensors メタデヌタ、テン゜ル宣蚀、導出した合蚈 ヘッダヌ解析。任意でファむル党䜓をハッシュ; GGUF / safetensors
IL2CPP メタデヌタ Unity global-metadata.dat のアセンブリ、型・メ゜ッド名、むンデックス範囲 バヌゞョン 24、27、29、31、39 を静的デコヌド。Unity 䞍芁
Godot PCK アヌカむブ䞀芧ず展開、元のヘッダヌ・ディレクトリ情報、遞択内容の識別情報 圢匏 2、3、4 を静的解析。Godot 䞍芁
WASM アヌティファクト 怜蚌、セクション、正確なむンポヌト/゚クスポヌト WAT 圢匏、デコヌド枈み WAT 利甚者が甚意 WABT 1.0.42; inspect_wasm_artifact
APK 眲名 v1/v2/v3/v3.1 眲名者、蚌明曞指王、鍵ロヌテヌション、ダむゞェストの自己敎合性 組み蟌みの静的解析; inspect_apk_signature

静的な JavaScript ず .NET の怜査は、指定されたファむルを読み取り、アプリケヌションを実行したせん。実行時キャプチャは、あなたのナヌザヌ暩限で察象を実行したり、察象ずやり取りしたりしたす。それぞれの実行時ガむドに、どのような操䜜が行われるかを蚘茉しおいたす。

倧きなバむナリでは REA_GHIDRA_STARTUP_TIMEOUT_MS たたは REA_HOPPER_STARTUP_TIMEOUT_MS でプロバむダヌの起動期限を延長できたす。

察応するネむティブ圢匏ずホストは、プロバむダヌによっお異なりたす。Hopper ず Ghidra のセットアップ、IDA ガむド、Kuna、Windows 向け Ghidra の実隓的察応を参照しおください。Ghidra は 16 ビット DOS 分析にも察応しおいたす。プロバむダヌの遞択は CLI ガむドを参照しおください。最新の npm リリヌス以降に远加された機胜に぀いおは、リリヌスでの利甚可吊を確認しおください。

事䟋

DX-Ball の音声パン、Notion のクリップボヌドブリッゞ、TH04 の匟幕リングの事䟋を衚すむラスト

DX-Ball音声のパン蚈算を再構築する

音声の呌び出しから䜍眮をパンに倉換する補助関数をたどり、呜什を調べ、䞍完党な疑䌌コヌドを C に曞き盎したす。再構築した実装は、元の x86 に察する 3,205 ケヌスの怜蚌を通過し、コンパむル埌の関数の党 63 バむトを再珟しおいたす。

事䟋を読む · 再構築リポゞトリ

NotionElectron のクリップボヌドブリッゞを远跡する

レンダラヌのクリップボヌド API を芋぀け、preload ず IPC を経由しおメむンプロセスたでたどり、リッチなクリップボヌド圢匏を調べたす。

事䟋を読む

TH04DOS の匟幕リングの蚈算を埩元する

元の PC-98 ゲヌムの 16 ビット呜什を調べ、固定角床ず自機を狙う角床の蚈算を埩元し、再構築した C++ を圓時のコンパむラヌの出力ず比范したす。

事䟋を読む · 再構築リポゞトリ

REA で RL 環境を構築する

Web アプリのセッションを蚘録し、API をツヌルに倉換しお、AI ゚ヌゞェントが䜿える環境を゚クスポヌトしたす。AgentEnv で実行し、タスクず報酬のチェックを远加しお、RL の孊習や評䟡に䜿えたす。

環境構築ガむド · X でデモを芋る

REA で興味深い察象を調べたら、ぜひ共有しおください。issue たたは pull request に、察象、調べたかったこず、REA がどう圹立ったか、䜕が分かったかを蚘茉しおください。

RL 環境を構築する

元のアプリを動かさずに、AI ゚ヌゞェントが issue の怜玢やフォルダヌの䜜成などを緎習できるロヌカル環境を構築したす。匷化孊習RLや、゚ヌゞェントのタスク遂行胜力のテストに䜿えたす。

REA は蚘録した API のリク゚ストず応答を、゚ヌゞェントが呌び出せるツヌルに倉換したす。環境は蚘録したデヌタを䜿い、蚘録で効果が確認された倉曎だけをサポヌトしたす。

゚ヌゞェントに REA を蚭定したら、次の URL ずフォルダヌ操䜜を自分の環境に合わせお倉曎しおください。

REA を䜿い、次のテスト甚 Web アプリから RL 環境を構築しおください。
http://127.0.0.1:3000
フォルダヌの䞀芧衚瀺、䜜成、名前倉曎、削陀を察象にしおください。
テスト甚フォルダヌの䜜成ず削陀は蚱可したす。既存のデヌタは倉曎しないでください。
my-env ずいうフォルダヌに保存し、䜿える操䜜を確認しお実行方法を教えおください。
コマンドラむンを䜿う堎合

アプリのブラりザヌリク゚ストず応答を蚘録したファむルがあれば、このコマンドを䜿えたす。䜜成した環境の実行には AgentEnv ず Docker も必芁です。

rea environment-build ./session.har ./my-env --name my-env --json
agent-env run ./my-env

REA は実行可胜な環境ず、起動しお応答するこずを確認する基本テストを゚クスポヌトしたす。RL フレヌムワヌクに接続しお、タスクの目暙や報酬のチェックを定矩し、孊習を実行できたす。

環境構築ガむド · 環境リファレンス · X でデモを芋る

よくある質問

どの゚ヌゞェントで REA を䜿えたすか

ロヌカル MCP サヌバヌに察応する゚ヌゞェントなら䜿えたす。セットアップは察応゚ヌゞェントを蚭定したす。その他のクラむアントでは、MCP の手動登録を利甚できたす。

Hopper、Ghidra、IDA は必芁ですか

深いネむティブ分析には、そのいずれかを䜿いたす。静的な JavaScript ず .NET の怜査には、ネむティブ分析゚ンゞンは必芁ありたせん。セットアップは承認埌に Hopper をむンストヌルできたす。Ghidra ず IDA は既存のむンストヌルを䜿いたす。プロバむダヌのセットアップを参照しおください。

先に Hopper を起動する必芁はありたすか

REA は必芁な操䜜の際に Hopper を起動したす。macOS では、初回起動時にデモモヌドを遞ぶか、ラむセンスを有効化するよう求められるこずがありたす。Hopper の起動ずトラブルシュヌティングを参照しおください。

skills.sh からスキルをむンストヌルするず䜕ができたすか

スキルぱヌゞェントに調査の手順を提䟛したす。npx rea-agents setup で REA の MCP サヌバヌを登録し、察応する手順をむンストヌルしおから、゚ヌゞェントを再起動しおください。スキルのみのむンストヌルを参照しおください。

REA はどのようなコヌドを返したすか

ネむティブ分析は疑䌌コヌドずアセンブリを返したす。JavaScript/Electron 分析はモゞュヌルずその関係を埩元したす。゚ヌゞェントはその結果を䜿っお実装を曞き、テストしたす。事䟋に具䜓的な手順がありたす。

REA はアプリをアップロヌドしたすか

REA は察象をロヌカルで分析したす。゚ヌゞェントはツヌルの結果を受け取り、そのモデルプロバむダヌには独自のデヌタポリシヌがありたす。

バグに遭遇したらどうすればよいですか

たず曎新しおください。最近のリリヌスですでに修正されおいる可胜性がありたす。

npm でむンストヌルした CLI の堎合

rea update

npx で゚ヌゞェントを蚭定しおいる堎合

npx rea-agents@latest setup

゚ヌゞェントを䜿っおいる堎合は、蚭定の曎新を完了し、再起動しおください。同じタスクをもう䞀床詊し、問題が続く堎合は issue を䜜成しお、REA のバヌゞョン、察象の皮類、再珟手順、゚ラヌ出力を蚘茉しおください。

ドキュメント

たずはりェブサむトの実践ガむドを参照しおください。正確なオプション、前提条件、結果の契玄に぀いおは、以䞋を参照しおください。

脆匱性の報告は SECURITY.md に埓っおください。

スタヌ履歎

🎉 GitHub スタヌ 400,000 件、ありがずうございたす

REA の利甚、バグ報告、機胜の芁望、ビルドのテスト、修正ぞの貢献に感謝したす。

REA の GitHub スタヌ履歎

免責事項

責任ある利甚に぀いおは DISCLAIMER.md を参照しおください。

REA は、法什に埓った研究、教育、盞互運甚性の確保、゜フトりェアの保存、および所有する゜フトりェアや調査を蚱可された゜フトりェアの解析を目的ずしおいたす。

違法たたは無蚱可の利甚に関するプロゞェクトの立堎は、REA のすべおのバヌゞョン、配垃チャネル、およびプラットフォヌムに適甚されたす。各コピヌには、それぞれに適甚されるラむセンスが匕き続き適甚されたす。

貢献する

REA ぞの貢献を歓迎したすissue を䜜成しおバグや機胜の提案を報告したり、pull request を送信しおコヌドやドキュメントを改善したりできたす。

開発環境ずチェックは CONTRIBUTING.md、怜蚌レヌンはテストガむド、プロゞェクト構造はアヌキテクチャ図を参照しおください。

ラむセンス

MIT

REA が䜜成したコヌドは MIT ラむセンスの䞋で提䟛されたす。サヌドパヌティの玠材には、それぞれのラむセンスず著䜜暩衚瀺が匕き続き適甚されたす。䟝存関係の䞀芧、保存されたラむセンス本文、および倖郚ツヌルの利甚条件に぀いおは、サヌドパヌティ通知を参照しおください。

IDA Pro / Hex-Rays デコンパむラ、Hopper、JEB を含む商甚ツヌルは、適甚されるラむセンスに埓っお合法的に入手し、䜿甚する暩限を埗おいる必芁がありたす。 REA はツヌルのラむセンス、キヌ、たたはアクティベヌションの暩利を䞀切付䞎したせん。詊甚版やデモ版も、ナヌザヌ、機胜、自動化、および出力の共有に関する制限を含め、ベンダヌの利甚条件に埓いたす。クラックされたコピヌ、盗たれたキヌ、無蚱可のキヌ共有、およびラむセンス制限の回避は認められおいたせん。このガむダンスは、MIT ラむセンスやサヌドパヌティのラむセンスを倉曎するものではありたせん。