REA MCP
☰
KO
● — 명 접속 중 · 조회 — 회
후원사례 제출
X 게시물 · 작성자 angel

이건 진짜 믿기지 않아! AI 에이전트가 아무것도 없이 1996년 Windows 게임을 재구성하고 있어

AI 에이전트가 REA(리버스 엔지니어링 MCP)를 사용하여 DX-Ball 실행 파일에서 함수를 복구하고, 원래 x86 코드와 바이트 단위로 비교하면서 C 버전을 한 함수씩 재구성한 방법을 설명하는 X 게시물.

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

비슷한 프로젝트