← Back to list

Reverse all software: REA goes up GitHub 58,000 Star, angent turns reverse into a question.

itadol5j

GitHub has recently set fire to another project: REA. The user said it was "to the 42,000 Star," but as of today (10 October 2026) the number has risen. 58,000 Star, 11,000 Fork- More than they say. And what it does is that you can say the same thing: you use it to reverse any software, dig it from application to original binary.

Reverse engineering and angent collaboration concept Figure

I. REA: What exactly is the problem?

The traditional reverse is “Man sits in a counter compiler for a few days to read the compilation”. REA's idea is to put angent on an anti-circulator (original code with Hopper, Ghidra or IDA) and then connect to a static analyser for JavaScript and.NET. Angent is responsible for questioning the tool, collecting conclusions and handing back the evidence.

Its README exemplifier is the whole point of sale: "Know how the search in the Notes application works, show me the evidence, and do a similar feature for my project." What you got is an explanation, a code location, and a list of what you don't know.

The key point is to analyse all local operations, and the conclusions will be accompanied by evidence and limitations - not to allow the model to make up an explanation for you.

ii. Which targets to eat

REA has a rather broad support base, which essentially covers common reverse objects:

  • Native Binary: pseudocodes, compilations, strings, symbols, calls and references (Hopper/Ghidra/IDA required)
  • Offline ELF Layout: paragraphs, sections, original symbol/reposition, static mitigation candidate
  • JavaScript / Electron: module, import, source Map, route, IPC relation to primary plugin (static analysis without primary engine)
  • WebsitePage structure, scripts, web observation and screenshot
  • .NET Program Collection: metadata, CIL commands, declaration of original dependence versus construction (pure static)
  • Android APKList statement, class, reverse translation method and reference (needs headless JADX + complete JDK)
  • Solid: partitions, extractions intersect with original analysis (needs Binwalk / Unblob)
  • EVM bytes, login Linux crashes, HAR grabs, process behaviorWait.

Environmental requirements: Node.js 22.x (≥22.19), 24.x (≥24.11) or 26+, plus npm. Supported agents include Claude Code, Codex, Cursor, Gemini CLI, Grok Build, etc. - any agents that support local MCP Servers are basically functional. Install an order:npx rea-agents setup, it will register MCP server and write the accompanying workflow description, and then restart ant.

angent to reverse tool chain by MCP

Three public cases: what can it prove?

Star numbers represent heat and case results. The REA official put three showscases out of “what can” and “what can not”.

Case 1: Sound field formula for DX-Ball

Question: How did DX-Ball in the 1990s translate the horizontal position of the bricks into a left/right sound field? The counter compiler is in 0x406400 Only one unobserved input was seen __ftol() Call; missing references in command [EBP+8]I don't know. Follow the caller 0x411f40 Coordinate formula found 20 + 30 × tile_x, and read three constants from memory 1.5625, 500.0 and initial acoustic scaling 1.0.

The rule that is eventually restored is: coordinate double, multiplied by 1.5625, minus 500.0, multiplied by stored acoustic field and then cut off. Zoom to 1 with the left edge -500, centre 0, right edge 500. What really builds confidence is the means of authentication: the author runs 3205 examples simultaneously through the original x86 function and the new C version (covering 0-640 full positions, scaling 0/05/1/20-1), and under the fixed VC 4.0 tool chain the bytes are matched with the original 63 bytes. The entire project report maintained 55 C functions, 45380 comparisons.

It didn't prove it.The move to connect the sound field to the back end of the game is still to be completed, and the playable product is incomplete; the work is tied to a fixed Hash at DX-Ball 1.07; the compilation of “repositioned and checked constants relying on manual review” is not entirely automatic.

Case 2: Notion How to Copy to Clip Board

Jump from the '90s binary to a modern Electron application. Question: Notion Desktop 7.6.1 How to write text and HTML to the system clipboard? Path in four segments: preload script exposed to page clipboard.write;a wrapper calling on some channel ipcRenderer.invoke;main process ipcMain.handle Receive; electron by sender clipboard.write Crash. The same Channel name on both sides. notion:clipboard:writeI don't know.

Two discoveries are worth remembering: the main process handler will verify which page sent the request, and only Notion has its own web sets to reach the clipboard to write -- This is the correct position for which Electron should apply; the second is that there is a piece of data hidden in the copy, with an comment in HTML pointing to Notion to customize mimetypes text/_notion-blocks-v3-production Locally stored block data. Reverts the entry when pasting by ID, and returns the original text +HTML when the entry expires.

It didn't prove it.: REA 4.1.0 only analyses the label preload, find exposed API and invoke Call, wrapper realizes that the author manually read and connects Channel to the recipient; the clipboard's conclusion is from the web resource and saver cache of July 13, 2026, not from live desktop sessions.

Case 3: Playscreen for PC-98 games Ring

Back to 16 bit DOS code. The GERA program supports 16 bits of DOS analysis. The author restores the fixed angles and aim angles behind a bomb curtain ring, reconstructs them with C++ and compares them with the output of the historical compiler. Shapes are the same as DX-Ball: restore a small fraction of the calculation, rebuild it and then authenticate it with the original product, instead of believing in that explanation.

Four. Put the three cases together.

  • It's very narrow.: an acoustic formula, a clipboard path, a bullet curtain ring, and no case says “rebuild the whole application”.
  • The evidence is attached.Address, constant, 3205 tests, Channel name, stored probe, compiler comparison.
  • All admitted to manual steps.Manually reviewed repositioned, manually read wrapper, compiler matching.
  • Targets have fixed versions.DX-Ball 1.07 with Hash, Notion 7.6.1, original PC-98 binary.

This is today's honest frontier:Agent is a quick, tireless assistant to track individual behavior, and proves to be a test from which you can run again.

Case validation and chain of evidence

V. What it means for developers

If you're doing angent applications, the REA represents a new pattern: instead of letting the model "guess" directly about how a program runs, you put the model on a professional reverse tool to make it talk on evidence. Its value is not "one key reverses the entire software", but it is going to move the reverse threshold from "read compilations" to "question + validates."

But be sober two points. First, local analysis is not the same as data flow -- your angent will export the tools to model suppliers, and the data policy still applies. Second, the quality of evidence depended on the chain of certification, and the credibility in the case was derived from the 3205 comparisons and byte matching rather than the oral interpretation of the model.

Local analysis, evidence and authentication loops

How to do it?

  • Environment: Node.js 22.x (≥22.19)/ 24.x (≥24.11)/ 26+, plus npm
  • First key installation:npx rea-agents setup, select your anent, review and approve changes, and restart an anent
  • Global installation:npm install --global rea-agents, later available rea --help
  • Static JS/Electron analysis:npx -y rea-agents@latest analyze-javascript-application /abs/path --json
  • Primary analysis: pre-configuration of provider (Hopper/Ghidra/IDA)
  • Update:rea updateOr run again. npx rea-agents@latest setup

The reverse is moving from "read compilation" to "question + validation" - the tool has lowered the threshold, but the evidence still has to be tested.