Files
reverse-engineering-anything/docs/index.md
T
Entrpi b2e69728e3 feat(artifacts): inventory and extract ESP flash layouts
A whole-flash dump of an ESP32-family chip was read as its bootloader
image, with the partition table, apps and data left as undescribed bytes,
or refused when it began with erased flash. Read it as an esp-flash-image
container instead.

The partition table is decoded as esp_partition_table_verify accepts it
and is found at the caller's partition_table_offset, at the default
0x8000, or by scanning 0x1000-aligned sectors for a table whose MD5
verifies, which the inventory reports as derived. The bootloader is
located at its chip's ROM bootloader offset. Each partition is an entry
with its declaration in flat format_metadata; the bootloader and app
partitions carry ESP image facts from the existing streaming decoder; the
otadata records are reported with a selection derived without rollback or
anti-rollback, and the running partition stays unknown. One unreadable
partition does not hide the others, and extraction writes every partition,
nvs_keys included, as ordinary data.

Flash layouts are detected before single ESP images. The scan runs only
when an ESP image sits at a ROM bootloader offset, and is refused when a
bootloader at another chip's offset shows that the dump does not start at
flash address 0. open_binary gains flash_offset and partition_table_offset,
which require format esp-flash-image and are part of the snapshot target
identity; the CLI takes them with --target-format esp-flash-image.
Comparison treats a partition's label, type, subtype, range and flags as
its declaration.
2026-10-28 03:10:07 +11:00

9.6 KiB

layout, hero, features
layout hero features
home
name text tagline actions
REA Reverse Engineer Anything Understand binaries, applications, and runtime behavior with one CLI and MCP server.
theme text link
brand Get started /installation
theme text link
alt View on GitHub https://github.com/morluto/rea
title details link
Investigate with your agent Connect REA to your coding agent, describe the app or feature you want to understand, and follow the evidence. /mcp-prompts
title details link
Inspect across formats Explore native binaries, JavaScript and Electron apps, .NET assemblies, Android packages, firmware, and websites. /installation
title details link
Keep the evidence Analysis runs locally and returns observations, limitations, and unknowns through the CLI and MCP. /mcp-contracts

Start with one command

npx rea-agents setup

Choose your agent, review the planned changes, and approve setup. Native binary analysis can use an existing Hopper, Ghidra, or IDA installation; static JavaScript analysis needs no native analysis engine.

For a first result from an extracted JavaScript application or ASAR:

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

See installation and setup for requirements and configuration.

For runtime instrumentation, see the Frida guide.

Choose a guide

Task Guides
Identify a desktop installation Runtime candidates, evidence and follow-up files
Inspect native functions, references, or types Native binaries, Go metadata, Rust dependencies, CPython pyc files, PE certificates, PE imports, PE TLS/load config, ELF notes, Linux kernel modules, Apple IPS, Erlang BEAM, offline ELF layout, recorded crashes
Inspect native functions, references, or types Native binaries, Go metadata, Rust dependencies, CPython pyc files, PE certificates, PE imports, PE TLS/load config, ELF notes, Apple IPS, Erlang BEAM, offline ELF layout, recorded crashes
Select a native provider or import format Ghidra semantics, Windows, DOS, raw bytes, GameCube DOL, MIPS, PSP, NativeAOT, IDA, Kuna, JEB
Analyze JavaScript or Electron artifacts Static analysis, tracing and comparisons, application graph, source recovery
Compare static JavaScript with runtime observations Runtime attribution, reconciliation, Electron observation, Electron fuses
Inspect assemblies, packages, or firmware Godot PCK, .NET, Python packages, Android, APK signatures, Apktool resources, ADB acquisition, Apple, Harmony, firmware, ESP images, ESP flash images, WASM, EVM
Observe or compare a browser scenario CDP observation, scenarios, runtime evidence, historical captures
Serve recorded behavior as an agent environment Agent environments
Trace captured website source Source locations, module traces, script export
Capture and compare a command Process capture
Use CLI/MCP and retain evidence CLI, MCP contracts, agent prompts, obligation ledgers

For development, use testing, client verification, tool design, admission limits and recovery, and releasing. Reconstruction readiness describes a development conformance verifier. The 6.2 migration records that release's compatibility changes; the roadmap tracks future work.

REA inspecting a native binary in Hopper