资讯详情

REA 逆向实战:还原 Chrome 恐龙游戏 1880 行源码并本地复跑(附 Windows 门禁修复)

📅 2026/10/20 10:33:56 | 华诺云谱 👁 阅读
REA 逆向实战:还原 Chrome 恐龙游戏 1880 行源码并本地复跑(附 Windows 门禁修复)
先看两段动图:同一只恐龙,一段原版,一段逆向版断网时那只小恐龙,按空格跳仙人掌。它有个所有人都知道但没人深究的秘密:越玩越快。第一段,Chrome 恐龙游戏原版(网页 chromedino.com 实机):第二段,逆向版——从网页里拆出来的代码,在我自己电脑上跑起来的画面:看出差别了吗?第二段右上角多了个 SPEED 读数,实时在跳:6.116、6.138、6.174……每帧加 0.001。飞到 13 就封顶,按 60 帧每秒算,开局 11 秒后就到了极速。你以为越玩越难,过了那道坎其实它在原地踏步。读数是我加的,游戏本体和 Chrome 里那只一模一样。逆向出的这份代码,连同玩法说明,已经开源:https://github.com/TaurenRen/chrome-dino-recovered 。你把它下载下来,起个本地服务,按空格就能玩第二段动图里那只恐龙。拆它的工具叫 REA,110k starREA(Reverse Engineer Anything)是一个把逆向工程塞进 MCP 的工具:装上它,你的 AI 助手就能拆网页、拆应用、拆二进制。它上个月冲到 110k star,是现在逆向领域最火的开源项目。它最特别的地方是证据系统:每条结论都带 evidence_id 和置信度,只授信自己跑过的操作。你的 AI 助手回答这个页面里有什么时,给的是字节指纹和结构化报告,而不是我觉得大概是。对普通人,它的价值不在于当黑客,而是看懂一个东西到底怎么写的。比如天天玩的恐龙游戏,规则没人说清过,那就自己拆开看。实操:拆恐龙游戏,四步每一步我都实机截图了,命令照抄就能跑。第一步:起一个带调试口的 Chrome。按 Win 键,输入 cmd,回车,粘贴这行回车(cmd 窗口实际执行的样子如下):C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --remote-debugging-port9222回车后会打开一个新 Chrome 窗口,看起来和平时一样,但它已经把调试入口开在了 9222 端口。(如果你的 Chrome 装在别的路径,把引号里换成你自己的安装路径即可。)第二步:在这个 Chrome 里打开恐龙游戏网页。地址栏输入 chromedino.com 回车。这是社区做的恐龙游戏镜像站,和 Chrome 断网页面里那只一模一样。打开后长这样:第三步:装 REA,一句话出分析报告。再开一个 cmd 窗口,粘贴(先装一次:npm install -g rea-agents):rea list-browser-targets http://127.0.0.1:9222 rea analyze-web-bundle http://127.0.0.1:9222 上一步列表里的目标ID第一条列出这个 Chrome 里打开的页面,复制恐龙游戏那行的 target_id,塞进第二条。我实跑的输出:页面上 7 个脚本全部抓到,每个带 SHA-256 指纹,全程只是看,不执行目标页面任何代码。75632 字节那个就是游戏本体。第四步:把压缩代码还原成可读源码。三行命令(第三条的反编译引擎装一次:npm install -g wakaru):rea analyze-web-bundle http://127.0.0.1:9222 目标ID --full-output capture.json rea export-web-scripts capture.json scripts rea recover-javascript-sources scripts\game.js recovered注:第二条报找不到文件的话,把第一条的输出存成 capture.json 再跑。第四条要求设置环境变量 REA_WAKARU_COMMAND 指向 wakaru.exe,Windows 上会报仅支持 Linux的错,这正是下一节要拆的墙。出结果的瞬间是这么个东西:1880 行、变量名清楚的完整游戏源码。在本地打开 recovered\modules\bundle.js,搜 ACCELERATION,一眼看到游戏参数表:速度 6,每帧加 0.001,封顶 13。第二段动图里右上角那个读数,就是这段配置在跑。越玩越快的执行代码就在同文件 L504 附近:this.distanceRan this.currentSpeed * deltaTime / this.msPerFrame; if (this.currentSpeed this.config.MAX_SPEED) { this.currentSpeed this.config.ACCELERATION; }逆向出的代码真的能跑:本地启动光看懂不够,还得验证这代码是活的。我把还原出的源码配了个最小启动页,本地起服务,恐龙就在自己电脑上跑起来了,也就是开头第二段动图。想自己试,三步:打开 https://github.com/TaurenRen/chrome-dino-recovered ,绿色 Code 按钮里 Download ZIP,解压在解压的文件夹里按 WinR 输入 cmd 回车,粘贴 python -m http.server 8777浏览器打开 http://127.0.0.1:8777 ,按空格,开跑你自己的电脑上,跑着从别人网页里拆出来的游戏。一份死文件只能供着,这份代码能启动、能改、能再创作,逆向出来的是活的东西,到这里才算证明完。顺手把恐龙为什么越跑越快改成一个数字(把 ACCELERATION 0.001 改成 0.01),存档刷新,恐龙会快十倍地疯起来。改代码这件事,从这里就不再神秘。中间撞的墙:Windows 用户被一行代码拦在门外上面第四步,我在 Windows 上第一次跑直接被拒:capability_unavailable: Provide an absolute REA_WAKARU_COMMAND pointing to a Wakaru ^1.13.0 Linux x64 binary ...注意最后四个字:Linux x64。去翻 REA 的源码,判断平台的那行写死了只许 Linux 通过,你的 Windows 装得再好它也不看一眼。问题在哪?它用的反编译引擎 Wakaru,npm 包里明明带着 Windows 和 macOS 的二进制,我在自己机器上跑 wakaru 一切正常。这是 REA 把引擎早期只发 Linux 版的历史假设,焊成了对所有用户的永久限制。修法不复杂:平台判断放开到三大系统;Linux 专用的资源限制器在别的系统上没有就跳过,保留它原有的超时、输出上限、进程回收三重兜底。改动 5 个文件,收益是全部 Windows 和 macOS 用户。修完的三层验证:类型检查零错误、单元测试 8/8 通过、Windows 11 实跑。75KB 脚本 1 秒内还原完成,产物与手工运行逐字节一致。两个仓库都在我的 GitHub:https://github.com/TaurenRen/rea:REA 修复版,Windows/macOS 直接用https://github.com/TaurenRen/chrome-dino-recovered:恐龙游戏还原源码,可玩这工具适合谁值得装的:想看懂竞品网页交互逻辑的;给 AI 编程助手加逆向能力的(接上 REA,助手就能看见网页内部);做技术教程需要可信实测的创作者。不值得的:想拆付费软件的,REA 文档明确禁止未授权目标;想替代 IDA/Ghidra 做原生逆向的,它是入口不是天花板。边界说清楚:它只拆 JS 和网页层,原生程序的深度反编译另一条线;我的 fork 解决的是 JS 恢复这一个门禁,一条命令变逆向工作站的事它做不到。但想看懂一个网页里藏着什么,现在,你手里有钥匙了。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑