Files
reverse-engineering-anything/docs
morluto 89640a446a fix(parsers): stop reading every RangeError as a format failure (#10602)
* refactor(parsers): report format failures through one ParseFailure algebra

Add ParseFailure (malformed, truncated, unsupported, limit, with format,
offset and field) and its one carrier, ParseFailureError, in the domain.
BinaryReader now names truncation and the field it read, and its native
format and resource failures are ParseFailureError subclasses.

Providers projected a format failure with their own instanceof ladder,
and some dropped the selected path from the invalid_format message.
parseFailureAnalysisError now owns that projection for the native,
Go, devicetree, V8, Windows Shortcut and Electron fuse providers.
The V8 code cache, Windows Shortcut and Electron fuse format classes
are removed in favour of the algebra.

The architecture guard counts raw Buffer and DataView reads, plain
Error throws in parser folders and plain JSON.parse of parser input
against baselines that can only shrink.

* fix(parsers): stop reading every RangeError as a format failure

Mach-O, Swift and Objective-C metadata parsers threw RangeError for a
truncated or malformed record, so their catch sites treated any
RangeError as a partial decode: a call stack overflow or a host string
limit became an "unresolved" metadata reason, and the IL2CPP Mach-O
path reported it as a malformed container.

Those parsers and the CIL method body reader now throw ParseFailureError.
hostRangeErrorKind is the one interpreter of a host RangeError (stack
overflow, host capacity, raw out-of-bounds read), and
parseFailureFromCause admits only a parse failure or a raw
out-of-bounds read as evidence about the input. Fixup stream catch-alls
rethrow host limits. The architecture guard counts the remaining direct
instanceof RangeError checks.

* fix(parsers): preserve Apple metadata failure ownership

* test(architecture): shrink parser failure baseline

* fix: preserve uncertainty for host range errors
2026-11-15 10:03:26 +08:00
..

Documentation directory

REA documentation is organized by reader task and document owner. This directory links every authored guide; the site also serves separate product pages. The VitePress documentation source is this docs/ tree.

Getting started

Native binaries

JavaScript and Electron

Browser and captured websites

Android applications

Apple applications

.NET assemblies

Firmware

HarmonyOS packages

WebAssembly

EVM contracts

Databases and recorded packets

Process capture and instrumentation

Signal recordings

Provider setup and formats

Contracts and evidence

Development and verification

Release migrations

Architecture and authoring

Machine-owned documentation

Path Owner and update command
public/product-catalog.json Ignored contract projection; npm run docs:generate
verification/managed-conformance-*.json Ignored managed conformance projections; npm run evidence:generate
error-contract.schema.json Tracked schema from contracts; npm run docs:error-schema
user-visible-errors.csv Authored error classification inventory; preserve its schema
releases/<version>.contributions.json Durable release contribution record; follow the release guide
assets/ Shared authored images referenced by guides

Do not edit generated catalogs or evidence to change product facts. Change their canonical contracts or producer and regenerate. Historical release records retain the exact commit messages and references from the release they describe.

Additional guides