logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·30.10.26
← Back to news

REA Reverse – Engineer Anything

Original article
rea.tools|605 points|264 comments|by modinfo|Oct 10, 2026

REA: Reverse-Engineer Anything

REA is a powerful extension for your coding agent, designed to peel back the curtain on how software actually functions. By providing the necessary tools to inspect binaries and scripts, REA enables your agent to analyze a program and explain its inner workings.


🛠️ Getting Started with REA

To integrate REA into your workflow, simply provide your coding agent with the following instruction:

"Install REA and connect it to this coding agent using npx rea-agents@latest setup. Please present the setup plan for my approval, then verify that the installation was successful."

Alternatively, you can initiate the process directly from your terminal:

npx rea-agents@latest setup

Post-Installation Checklist:

  • Review and approve the setup plan.
  • Restart your coding agent to activate the tools.

🔍 The Philosophy of Reverse Engineering

Reverse engineering is the process of discovering how software operates by analyzing the program itself. The ultimate objective is to understand a specific feature deeply enough to explain it, modify it, or recreate it from scratch.

The Evolution of the Workflow

Historically, reverse engineering was a manual, grueling process. Here is how the experience has changed:

PhaseManual Investigation (The Old Way)With REA + Coding Agent
AnalysisManually decoding assembly branches.REA extracts instructions and decompiled code.
TracingFollowing complex function calls.Agent maps the execution flow automatically.
RecoveryReconstructing the logic rule by hand.Agent interprets the rule and explains it in plain English.

📉 The Manual Struggle (Example)

An expert would look at x64 instructions like these:

0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
...
0x180124968: CALL 0x180122650

The human expert must ask: Which branch is being taken? What do these command IDs represent? They then realize that 0x640x640x64 is 100100100 in decimal, leading to a calculation like: Result=200×10100=20\text{Result} = \frac{200 \times 10}{100} = 20Result=100200×10​=20

🚀 The REA Workflow

Example Prompt: Use REA to inspect Windows Calculator. Agent Result: "After the '+' operator, the '%' button calculates a percentage of the initial number (e.g., 200+10%→200+20=220200 + 10\% \rightarrow 200 + 20 = 220200+10%→200+20=220)."


🎮 Case Study 01: Chrome’s Dinosaur Game

The Goal: Understand and replicate the dinosaur's acceleration logic.

To clone the game's feel, we need the exact rules: the starting velocity, the rate of increase, and the maximum speed cap.

The Process:

  1. Prompt: Use REA to inspect this dinosaur game. Show the speed rule, then build a small version with an adjustable speed.
  2. REA Action: REA connects via a local debugging endpoint to the browser and extracts index.js.
  3. Agent Discovery: The agent identifies the following logic in the script:
    if (this.currentSpeed < this.config.MAX_SPEED) { 
        this.currentSpeed += this.config.ACCELERATION; 
    }
    
  4. Extracted Constants:
    • SPEED: 666 (Start)
    • ACCELERATION: 0.0010.0010.001 (Increment per update)
    • MAX_SPEED: 131313 (Ceiling)

The Result: The agent builds a "Speed Lab" where you can test the original acceleration or use a slider to change the pace. The original game is static →\rightarrow→ The new version is customizable.


🧮 Case Study 02: Windows Calculator

The Goal: Reconstruct the logic behind the % (percentage) button.

The behavior of the percentage key changes depending on whether you are adding or multiplying. We need to find the specific rules inside calc.exe.

The Process:

  1. Prompt: Use REA to inspect Windows Calculator’s % button. Recover the rules after + and ×, then build a small calculator that uses both.
  2. REA Action: REA launches the app via ms-calculator:, reads the binary, and locates the percentage handler.
  3. Agent Interpretation: The agent translates the assembly into a readable summary:
    if (operation == multiply || operation == divide) { 
        percent = current / 100; 
    } else { 
        percent = (current * previous) / 100; 
    }
    

Technical Verification

The agent cross-referenced the binary's hex values with Microsoft's open-source definitions:

ConstantHex ValueDefinition
IDC_MUL0x5cMultiplication
IDC_DIV0x5bDivision
IDC_PERCENT0x76Percentage
Value0x64100100100 (Decimal)

Final Outcome: By combining REA's raw data extraction with the agent's reasoning, a fully functional percentage button was rebuilt, mirroring the exact behavior of the official Windows Calculator.