REA MCP
☰
ZH-CN
● — 人在线 · 浏览 — 次
赞助提交案例
X 帖子 · 发布者 angel

这他妈的太不真实了!AI 代理正在用一无所有重建一款 1996 年的 Windows 游戏

一篇 X 帖子描述了 AI 代理如何使用 REA(逆向工程 MCP)从 DX-Ball 可执行文件中恢复函数,逐个函数重建 C 版本,并与原始 x86 代码进行逐字节比较。

a
angel@angel404l

1/

THIS IS F*CKING UNREAL! AI AGENTS ARE REBUILDING A 1996 WINDOWS GAME WITH NOTHING BUT THE .EXE the game is DX-Ball. no source code. no docs. just the original executable and REA, the MIT-licensed reverse engineering MCP sitting at 238,000 stars on GitHub the goal: a clean, maintainable C version of the whole game, recovered 1 function at a time here's 1 function, start to finish question: when a brick breaks, which speaker plays the sound? the agent asked REA 3 things: → analyze_function 0x406400 - the decompiler said the function was empty. the raw instructions showed a hidden integer input → follow the caller - the brick-hit code turns a tile into a screen position: 20 + 30 × tile_x → read_bytes - 2 constants buried in the .exe decode to 1.5625 and 500.0 the whole formula: pan = (x × 1.5625 − 500.0) × scale -500 on the left edge. 0 in the middle. +500 on the right then it had to prove it wasn't guessing: > 3,205 test cases run against the original x86 code > every position from 0 to 640, at 5 pan scales > recompiled with the 1996-era compiler: all 63 bytes identical the project so far: > 55 functions rewritten in C > 45,380 checks against the original > 33 functions that compile byte-for-byte the same and it's not just old games. REA covers 23 target types: native binaries through Hopper, Ghidra or IDA, Electron apps, .NET, Android APKs, websites, firmware, network captures 1 command to start: npx rea-agents setup then hand your agent a binary you're allowed to inspect and paste this: "Use REA to recover 1 function from this executable 1. Analyze the function and its callers. Show the instructions behind every claim, not just the pseudocode 2. Read and decode every constant or global it depends on 3. Write a C version with the same inputs and outputs 4. Build a test that runs the original and your version across the full input range. Report every mismatch" start with 1 small function you can fully verify the decompiler said empty. the bytes said otherwise.

2/

full case study: https://github.com/morluto/rea https://rea.tools/showcase/dx-bal

已翻译

关于这个案例

作者详细介绍了单个函数的恢复过程:分析函数 0x406400,跟踪调用者以推导屏幕位置公式,从 .exe 中读取两个常量,并使用 3,205 个测试用例和 1996 年时代的编译器进行字节完全相同的重新编译来验证重新实现。帖子报告了 55 个函数被重写,45,380 次检查,33 个字节完全相同的函数,并指出 REA 覆盖 23 种目标类型,通过 npx rea-agents 一键设置。未提供仓库链接,也未说明逆向原始商业游戏的权利。

安装配置

安装方法请查看原始来源。

原文 / README

THIS IS F*CKING UNREAL! AI AGENTS ARE REBUILDING A 1996 WINDOWS GAME WITH NOTHING BUT THE .EXE

the game is DX-Ball. no source code. no docs. just the original executable

and REA, the MIT-licensed reverse engineering MCP sitting at 238,000 stars on GitHub

the goal: a clean, maintainable C version of the whole game, recovered 1 function at a time

here's 1 function, start to finish

question: when a brick breaks, which speaker plays the sound?

the agent asked REA 3 things:

→ analyze_function 0x406400 - the decompiler said the function was empty. the raw instructions showed a hidden integer input → follow the caller - the brick-hit code turns a tile into a screen position: 20 + 30 × tile_x → read_bytes - 2 constants buried in the .exe decode to 1.5625 and 500.0

the whole formula:

pan = (x × 1.5625 − 500.0) × scale

-500 on the left edge. 0 in the middle. +500 on the right

then it had to prove it wasn't guessing:

3,205 test cases run against the original x86 code every position from 0 to 640, at 5 pan scales recompiled with the 1996-era compiler: all 63 bytes identical

the project so far:

55 functions rewritten in C 45,380 checks against the original 33 functions that compile byte-for-byte the same

and it's not just old games. REA covers 23 target types: native binaries through Hopper, Ghidra or IDA, Electron apps, .NET, Android APKs, websites, firmware, network captures

1 command to start:

npx rea-agents setup

then hand your agent a binary you're allowed to inspect and paste this:

"Use REA to recover 1 function from this executable

  1. Analyze the function and its callers. Show the instructions behind every claim, not just the pseudocode
  2. Read and decode every constant or global it depends on
  3. Write a C version with the same inputs and outputs
  4. Build a test that runs the original and your version across the full input range. Report every mismatch"

start with 1 small function you can fully verify

the decompiler said empty. the bytes said otherwise.

full case study:

https://github.com/morluto/rea https://rea.tools/showcase/dx-bal

更多类似作品