恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

63 字节、3205 个用例:用 REA 把老游戏二进制里的函数还原成 C 代码

  • 首页
  • 资讯中心
  • /
  • 63 字节、3205 个用例:用 REA 把老游戏二进制里的函数还原成 C 代码

相关资讯

标题:武汉江夏汽车外观精致修复 一伽汽车凹陷无痕修复匠心守护爱车原厂漆面 2026/10/16 6:07:36
Android自定义View实战:长按进度按钮的完整实现与优化 2026/10/16 6:07:36
一键网站下载:5分钟把整站备份到本地 2026/10/16 6:07:36

最新资讯

Modbus到OPC UA协议转换的工程实践与调试经验
Codex + Figma MCP 实操:AI 如何生成可交付的高质量 UI 设计稿
品茗安全计算软件V12:模板支架立杆稳定性验算与危大工程方案编制指南
Windows 11 未激活水印去不掉?MAS 免费激活工具完整实操教程
Fluent管道流动仿真:压力损失、速度分布与压力分布全流程分析
Chim 2.0语法规范详解:从词法到类型系统的严格化改造

今日推荐

Java八种基本类型深度解析:从内存布局到实战选型
基础:常用快捷键——IDEA、VS Code、PyCharm 与 Linux 终端效率速查
解决ultraedit下verilog .v文件中文注释乱码:把编码配置改到TaoToken辅助排查

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

63 字节、3205 个用例:用 REA 把老游戏二进制里的函数还原成 C 代码

发布时间:2026/10/16 6:07:36
63 字节、3205 个用例:用 REA 把老游戏二进制里的函数还原成 C 代码 63 字节、3205 个用例用 REA 把老游戏二进制里的函数还原成 C 代码【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREA 是面向 AI Agent 的逆向工具让 Agent 能查二进制、追调用、读内存常量。拿 1996 年的 DX-Ball 可执行文件158,208 字节里的一个 63 字节函数做例子C 还原版通过了3,205 个与原始 x86 逐一对比的用例编译回放后63 个字节全部吻合。为什么这个 63 字节的函数值得拆开看源码不存在二进制就是唯一事实。DX-Ball 是 1996 年的打砖块游戏重建项目要的不是能跑而是每个函数都能被测试证明与原版一致的 C 实现。验证是双重的3,205 个行为差分用例 VC4.0 编译回放 63 字节全匹配两条路径互相独立。流程可以复制REA 4.1.0 配合 Ghidra 12.1.4用analyze_function、read_bytes这类原语就能完成取证整套做法适用于任何只有二进制的老程序。进度是滚雪球式的截至 2026 年 10 月的检查点项目已维护 55 个 C 函数累计与原始代码对比 45,380 次其中 33 个函数通过了编译字节匹配。反编译没看全的地方线索藏在哪反编译器丢掉了入参指令视图把它找了回来。DX-Ball 里砖块被击中时音效带左右声像。要复刻它先得回答屏幕横坐标是怎么变成左/右平衡值的对0x406400执行analyze_functionGhidra 给出来的伪代码却长这样longlong FUN_00406400(void) { longlong lVar1; lVar1 __ftol(); return lVar1; }零参数还冒出一个来路不明的__ftol()转换调用。这时别看伪代码看同一结果里附带的指令视图0x406409: MOV EAX, dword ptr [EBP 0x8] 0x40640f: FILD dword ptr [EBP -0xc][EBP0x8]是标准的 32 位栈参数位置FILD说明它随后被当作整数读进浮点寄存器——函数其实有一个整型入参暂且叫它x伪代码里丢了它。反编译的残缺处不是死路而是继续往下挖的入口。跟着调用方把x的含义钉住。REA 返回的结果里同时带调用方条目砖块命中函数在0x411f40。它的最后三条指令是0x411f5b: ADD EAX, 0x14 0x411f5e: PUSH EAX 0x411f5f: CALL 0x00406400再往前追tile_x先被乘了 30。所以x就是砖块的屏幕横坐标20 30 × tile_x取值范围 0 到 640正好覆盖一屏宽度。那几个常量从内存地址里直接读出来。指令里还有三个内存地址。对它们分别发read_bytes再按双精度浮点解码0x420068 - 1.5625 0x420070 - 500.0 0x4210a0 - 1.0其中0x4210a0存的初值是 1.0重建项目把它命名为dxball_pan_scale。证据到此齐了一个入参、两个算术常量、一个可变比例。最小的 C 还原长什么样四行运算和指令一一对应。把上面的发现排进顺序DxBallInt dxball_screen_pan(DxBallInt x) { double pan (double)x; pan pan * 1.5625; pan pan - 500.0; pan pan * dxball_pan_scale; return (DxBallInt)pan; }对应关系很直白FMUL [0x420068]乘 1.5625FSUB [0x420070]减 500.0FMUL [0x4210a0]乘比例系数结尾对0x41678c的那次CALL就是转整数。这个公式直觉上也很对比例取 1 时屏幕左边缘算出 -500中心 0右边缘 500——标准的立体声声像范围。3205 个用例怎么算出来的先说结论3,205 个行为用例全部通过编译回放 63 个字节全部匹配。两条检查路径互相独立回答的是不同问题。行为差分这条直接执行原始 x86 函数把返回值和 C 实现逐一比对横坐标取 0 到 640 的每个整数位置比例系数取 0、0.5、1、20、-1 五档含极端值541 × 5 2,705再叠加边界与中间态组合凑成 3,205 个用例任何一处不一致测试立刻失败。编译器回放这条用锁定的 VC4.0 工具链编译 C 函数应用审阅过的重定位并核对引用常量后产出的 63 个字节与原函数逐字节一致——它回答的是当年同款编译器下我的代码是否产出同样的机器码。范围要说清楚。这些结论绑定在重建项目固定的检查点a55dca272026 年 10 月 7 日上只针对这个函数游戏级集成是另一条独立任务线。完整证据清单见 website/evidence/dx-ball-sound-pan.md每条观察都带 Evidence ID。复现这条命令要几步三步一条命令就能拿到函数快照。克隆仓库git clone https://gitcode.com/GitHub_Trending/rea2/rea按 docs/installation.md 完成安装并接好 Ghidra 或 Hopper Provider。对目标二进制跑函数快照命令原样可复制scripts/rea function original/DXBALL.EXE 0x00406400 \ --snapshot .analysis/rea/dxball.snapshot.json --jsonAgent 基于快照里的指令视图、调用方条目和字节读取结果补齐证据随后用普通代码工具写 C 实现并跑差分测试。三个值得带走的点反编译的残缺处就是线索[EBP8]一读入参就回来了残缺不是放弃的理由。结论要能被复算3,205 个行为用例 63 字节编译回放两个维度交叉验证和原版一样才是可交付的说法。过程要可追溯每条观察绑 Evidence ID、结论绑固定检查点别人能原样复核。别再对着汇编猜了——让 Agent 查二进制、让测试说话一个 63 字节的函数也能交付一份能长期维护的 C 实现。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号