Reverse Engineer Anything
REA reads the artifacts you already have: JavaScript and Electron applications, .NET assemblies, native binaries, Android packages, websites and saved capture files. The static paths need no Ghidra, no IDA and no decompiler licence.
$ npx rea-agents@latest setupRequires Node.js 22.x (22.19+), 24.x (24.11+) or 26+ — Node 23 and 25 and pre-releases are not supported.
What you can analyze with REA
- JavaScript / Electron
Guide coming soon
Modules, imports, source maps, routes, IPC and native add-on relationships
No extra tools: Node.js and npm; Linux: procps-compatible `ps`
- .NET assemblies
Metadata, CIL instructions, declared native dependencies and build comparisons
No extra tools: None (static only)
- Native binaries
Guide coming soon
Pseudocode, assembly, strings, symbols, calls and references
Extra tools required: Hopper, Ghidra or IDA
- Android APKs
Guide coming soon
Manifest declarations, classes, decompiled methods and references
Extra tools required: Headless JADX and a full JDK on Linux/macOS/Windows x64
- Websites
Guide coming soon
Page structure, scripts, network observations and requested screenshots
Extra tools required: A Chrome-family browser
- Go binaries
Guide coming soon
Embedded compiler version, modules, replacements and build settings
No extra tools: Built-in static ELF/PE/thin Mach-O inspection; no Go installation required
- Rust binaries
Guide coming soon
Embedded cargo-auditable crate names, versions, sources and dependency edges
No extra tools: Built-in static ELF/PE/thin Mach-O inspection
- WASM artifact
Guide coming soon
Validation, sections, exact import/export WAT forms and decoded WAT
Extra tools required: Caller-supplied WABT 1.0.42; `inspect_wasm_artifact`
- EVM bytecode
Guide coming soon
Dispatch selectors, byte offsets, inferred arguments and mutability
Extra tools required: Local raw/hex carrier on Linux x64
- SQLite databases
Guide coming soon
Tables, columns, indexes, views, triggers and selected ordinary-table rows
No extra tools: Local database/WAL snapshot; Node.js 24.x >=24.15 or 26+ with native SQLite limits
- Saved network captures
Guide coming soon
Requests, responses, exposed payloads and source locations
Extra tools required: HAR or Fiddler Everywhere SAZ; mitmdump on Linux for native mitmproxy
- Offline ELF layout
Guide coming soon
Sections, segments, original symbols/relocations and static mitigation candidates
Extra tools required: Caller-supplied pwntools on Linux x64
- Recorded Linux crashes
Guide coming soon
Raw notes, every recorded thread's registers/signals and optional mapping candidates
Extra tools required: Caller-supplied pwntools on Linux x64; optional GDB/pwndbg
- Android devices
Guide coming soon
Devices, packages, processes, logs, dumps, screen captures, and APK/file transfers
Extra tools required: Caller-supplied adb (emulator or hardware)
- JEB projects
Guide coming soon
Engine-backed project units, artifact digests and type/method pseudo-code
Extra tools required: A caller-started JEB client serving MCP, selected with REA_JEB_MCP_URL
- Android resources
Guide coming soon
Decoded manifest, string tables, locales and version facts
Extra tools required: Caller-supplied Apktool launcher
- Flutter apps
Guide coming soon
Dart snapshot hash, per-ABI library digests and engine build provenance
No extra tools: None (static APK parsing)
- Firmware
Guide coming soon
Regions, extraction results and native-analysis handoffs
Extra tools required: Binwalk / Unblob on Linux
- Recorded packets
Guide coming soon
Selected fields, repeated values, filters and decode-as rules
Extra tools required: Linux: TShark 4.x + prlimit
- Packet summaries
Guide coming soon
Endpoints, DNS, TLS SNI, protocol distribution and HTTP requests
Extra tools required: Caller-supplied tshark and capinfos (Linux-verified)
- Recorded logic signals
Guide coming soon
Decoder annotations, sample ranges and diagnostics
Extra tools required: Linux: sigrok-cli 0.7.2 + prlimit
- Packages and resources
Guide coming soon
File inventories, digests, plists, Apple bundle anatomy and extracted resources
Extra tools required: Artifact and JavaScript guide + Apple applications
- Process behavior
Guide coming soon
Terminal output, interactions, exit and filesystem observations, and run comparisons
Extra tools required: Linux/macOS with a native PTY
23 artifact types
Static — no extra install
Requires a tool
Static — no extra install
Requires a tool
What is REA, and when is it the wrong tool?
REA — Reverse Engineer Anything — is a free, open-source toolkit from morluto that gives your AI coding agent a set of analysis tools. You point it at an artifact you already have, and your agent asks REA to read it. REA returns findings with their evidence — modules, imports, IPC boundaries, metadata, strings, symbols, captured requests — instead of an unsupported guess. The agent then explains what the artifact does, traces the code that does it, or writes and tests a matching implementation.
How REA works
Run the one-time setup command above, then point your agent at a local target. For most targets the agent calls REA through MCP, REA inspects the file or capture, and the agent explains the result with the evidence attached. JavaScript and Electron also have a standalone CLI command, so you can run that analysis directly from a terminal and get JSON out. The same workflows back both paths.
What REA is not
REA is an inspection toolkit, not a licence to analyze software you do not own. Downloading a file is not the same as being authorized to inspect it, and permission to inspect is not permission to run, intercept, or modify. It is not a one-click decompiler, and it does not give you a licence for a commercial tool you do not already have. If you are unsure whether you may analyze a target, read the Authorized use guide and record your authorization before you start.
When REA is the wrong tool
The static paths — JavaScript/Electron, .NET, Go, Rust and Flutter — read the supplied files without running them and need no extra engine. Many other targets still require one: native binaries need Hopper, Ghidra or IDA; Android APKs need headless JADX and a JDK; WASM needs WABT; network and packet captures need tools such as tshark, capinfos or mitmdump. If you cannot install or run the required engine, REA cannot analyze that target for you.
Runtime capture is different from static inspection: it runs or interacts with the target using your own permissions, so only run it on a machine, device or account you control. REA does not install or update the commercial engines it can call, and it does not change what your jurisdiction permits.
This site is an independent third-party guide to REA, not a project by morluto and not affiliated with rea.tools. It covers installation, the realistic first steps for every artifact type, the common setup failures, and the authorization questions you should answer before you begin.
Is this allowed?
Authorization is not access. What you may inspect, what you may not run, and which licences are yours to buy.
It won't install
The five failures that account for nearly every setup problem, and the exact fix for each.
Pick your target
What REA actually reads from each artifact type, and what you have to install first.