大数跨境

【项目科普】最近爆火的REA项目是什么?

【项目科普】最近爆火的REA项目是什么? 昱麟AI健康
2026-10-26
4
导读:REA 项目科普,介绍让 AI 看懂软件,再动手改一个小功能。

医学科研 × AI 实践 · 阅读约 10 分钟

REA 项目科普介绍

让 AI 看懂软件,再动手改一个小功能

电视一开机,先替你播放免费频道;空调明明就在手边,调个温度还得打开厂商的 App。

已经有人让 AI 研究这些软件,给自己的设备重新做了一套操作界面。轮到我们每天用的科研工具,同样会冒出一个念头:这个按钮背后怎么工作的,能不能改得顺手一点?

最近走红的 REA,就和这件事有关。它能给 Codex、Claude Code 这类编程助手接上分析工具,帮助你追查现有软件的实现。读完这篇,你可以从一个恐龙小游戏开始,查清它为什么加速,再让 AI 做一个能自己调速度的版本。

REA:读懂软件的做法

阅读路线 · 可左右滑动

PART 01

理解 REA

逆向与工具分工

PART 02

看看案例

电视与家居控制

PART 03

动手练习

恐龙游戏调速度

PART ///

回到科研

研究一个小功能

01

PART


先弄明白:逆向在“逆”什么

写程序时,开发者先写代码,再把代码变成可运行的软件。做逆向分析时,研究者从现成的软件、文件和运行行为出发,推断内部规则。

比如,你点了“导出”,电脑多出一张表。研究者会接着查:按钮调用了哪个函数,函数读取了哪些字段,又怎样把内容写进文件。知道这条路径,才能判断缺列、乱码究竟发生在哪一步。

拿到的材料不同,难度也不同。网页通常能提供浏览器正在运行的 JavaScript;编译后的桌面程序,可能需要反汇编、反编译。后者往往只能恢复近似逻辑,原作者写过的注释、变量名和设计意图未必还在。

REA 的全名是 Reverse Engineer Anything。它提供工具接口和调查工作流,让编程助手调用 Ghidra、Hopper、IDA 等分析工具,也能调查网页与 JavaScript 应用。[1]

你可以把它理解成一套接到 AI 身边的检验设备:你提出问题,Codex 选择线索、解释结果;REA 帮它连接工具、返回分析材料。遇到不同目标,仍要准备对应的工具。

REA 的协作分工。箭头表示调查请求与证据返回。

这里要盯住一件事:AI 有没有给出程序出处。文件位置、代码片段、运行观察,都比一句“我已经理解了”更有用。代码混淆、依赖缺失或分析范围过大,照样会让它卡住。

02

PART


为什么火:大家开始改自己每天用的东西

截至 2026 年 10 月 26 日,REA 官方仓库约有 38.7 万个 Star。[1] 我觉得它吸引人的地方,在于把一个熟悉的愿望变成了可尝试的任务:研究现有功能,再做自己需要的改动。

接入后,你可以围绕一个按钮提问,让 Agent 找文件、调工具,省掉一部分搭建分析流程的工作。看到别人把电视首页改成自己喜欢的样子,也就明白了这些分析工具能帮上什么忙。

三星电视:换一个清爽的首页

开发者 Hunter 展示过自己的三星电视改造:研究 Tizen 的首页与启动器,做出更干净的主屏,取消随机免费频道的自动播放。使用的就是 REA。[2]

Hunter(@huntsyea)原帖展示的三星电视首页。图片来源:作者公开演示 [2];未做设备复现。

空调与全屋控制

YuriRDev 发过一段家居演示:他用 AI 研究自家的设备,把灯带、摄像头和空调接到电脑上;还把房间照片交给 Claude,做成能控制灯光的三维房间界面。[3]这很接近大家想象的“全屋定制”:设备型号、界面和操作习惯都围着自己来。

复制一段 Notion 内容、东方 TH04、独立APP

REA 官方案例追踪过 Notion 的复制功能:从页面上的调用,经过桌面应用内部的消息传递,直到系统剪贴板;同时展示了相关代码的位置。[4]

PC-98 平台上的 16 位老游戏,从 16 位汇编指令里恢复了固定角度和瞄准角度两套弹幕计算逻辑,还把重建结果和历史编译器输出做了交叉验证。对 Mod 作者和老游戏保护者来说价值很大。

社区开发者连接 Samsung S24 Ultra,让 Codex 用 REA 分析 Sony 官方 App,逆向出 Wind Noise Reduction 功能的实现链路,做了一个独立 App——打开就能直接开启降噪。这是目前最接近"真实商业 App 功能提取"的案例。


03

PART


跟着做:给恐龙游戏加一个速度滑块

这次沿用 REA 官方的恐龙游戏案例。目标很具体:找出加速规则,写一个带滑块的小版本,再检查数字。它研究的是公开网页脚本,适合第一次认识调查流程。[5]

STEP 01

准备一个练习文件夹

在桌面新建 rea-dino-practice 文件夹,用 Codex 打开它。你需要一个已经能正常对话的 Codex,以及 Google Chrome。

再打开 Mac 的“终端”,检查 Node.js 和 npm:

终端命令 · bash

node --versionnpm --version

这两条命令只查看版本。REA 6.8.0 支持的 Node.js 范围是 22.23.4 及以上的 22 系列、24.22.1 及以上的 24 系列,或 26.12.1 及以上版本。[6] 第一次准备环境,可从 Node.js 官网下载符合要求的 24 系列安装包;安装后重新打开终端检查。[7]

先用普通 Chrome 打开原恐龙游戏,按空格试玩。再打开官方速度实验室,拖一拖“速度”滑块。后面要做的,就是这样一个能自己调节速度的小版本。

原版恐龙游戏运行画面。来源:wayou.github.io/t-rex-runner/。

REA 官方恐龙速度实验室:开始、跳跃、重开、速度滑块和自动加速选项。[5]

STEP 02

把 REA 接到 Codex

在终端执行下面这条命令,先看配置计划:

终端命令 · bash

npx -y rea-agents@6.8.0 setup --client codex --dry-run --json

--dry-run 表示不应用配置改动;不过,npx 仍会下载并运行这个软件包。看不懂输出,可以把它交给 Codex,问:“请解释准备修改哪些文件,有没有失败项;这次只分析网页。”

确认计划后,执行实际接入命令,并按提示确认:

终端命令 · bash

npx -y rea-agents@6.8.0 setup --client codex

这次练习不用分析原生二进制,可以跳过可选的 Hopper 安装。结束后完全退出并重新打开 Codex,让它加载 REA 连接和配套使用说明。[6]

STEP 03

给 AI 打开一个可检查的浏览器窗口

把下面整段粘到终端。它会打开一个独立的 Chrome 数据目录,进入恐龙游戏。

终端命令 · bash

REA_BROWSER_DIR=$(mktemp -d /tmp/rea-dino.XXXXXX)"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \  --remote-debugging-address=127.0.0.1 \  --remote-debugging-port=9222 \  --user-data-dir="$REA_BROWSER_DIR" \  --no-first-run --no-default-browser-check \  "https://wayou.github.io/t-rex-runner/"

成功后,你会看到一个新窗口。保持它和启动它的终端开启;这个窗口只用来做练习,不登录工作账号。独立数据目录也是新版 Chrome 调试连接的要求。[8]

其中,http://127.0.0.1:9222 是 REA 连接这个浏览器的入口,游戏网址则告诉它要检查哪个页面。[9]

STEP 04

先查规则,再让它写游戏

回到 Codex,把这一段发出去:

复制给 Codex 的提示词

用 REA 调查这个公开恐龙游戏:https://wayou.github.io/t-rex-runner/浏览器调试入口:http://127.0.0.1:9222读取页面实际加载的脚本,找出初始速度、每次加速的增量、停止加速的判断条件。给出脚本地址、代码位置和原始片段。区分读代码得到的结论与运行验证过的结论,查不到就说明缺什么。先分析,暂时不要重写游戏。

看回答时,检查它有没有读取脚本的工具记录和代码出处。官方案例中的初始速度是 6,每次符合条件的更新增加 0.001,增加前判断速度是否小于 13。[5]

官方公开的 REA 源码分析示例:原始加速分支、速度常量及重建函数。[5] 这是官方网页截图,并非本机 Codex 会话。

查清后,在同一个聊天继续发:

复制给 Codex 的提示词

根据刚才找到的规则,在当前文件夹创建 dino-demo.html。做一个单文件小游戏:恐龙能跳、能碰撞、能重新开始;提供中文按钮和 2 到 18 的速度滑块。拖动滑块后使用固定速度;勾选“自动加速”后从 6 开始,按刚才的条件更新。模拟每秒执行 60 次逻辑更新。画面、跳跃和碰撞逻辑自己编写,不复制原游戏素材。说明哪些规则来自原程序,哪些部分是新写的。检查完成后,告诉我文件位置和打开方法。

等它写完,在练习文件夹找到 dino-demo.html,右键选择用 Chrome 打开。先试开始、跳跃、滑块和重开,再观察自动模式是否从 6 开始增长。界面不必和官方样例长得一样。

STEP 05

能玩之后,还要验算

画面能动,不能证明它用对了规则。继续让 Codex 检查游戏实际调用的加速函数:

复制给 Codex 的提示词

测试 dino-demo.html 实际使用的加速函数。从速度 6 开始,排除碰撞干扰,分别运行 0、1000、4000、10000 次更新。保留三位小数,与 6.000、7.000、10.000、13.001 逐项比较。输出实际值、参考值、是否一致,并说明运行了哪段代码。不要另写一个只为通过测试的函数。不一致就定位原因;一致后再检查滑块模式切换和重开。

这四组数来自官方实验室。最后一个是 13.001,因为程序先判断,再相加,浮点运算下最后一次增加会略微越过 13。[5]

在官方实验室点击“运行速度检查”后的结果:四组数值均匹配。[5] 这是官方示例的验算结果;你生成的游戏仍需单独测试。

数字对上,只能说明这些检查点通过;跳跃、碰撞和按钮仍要试玩。结束后关掉练习用的 Chrome 窗口,留下游戏文件,下次再让 Codex 改颜色或增加跳跃高度。

卡住时,把现场交代清楚

提示 command not found,先确认缺的是 Node.js 还是 npm;找不到 REA 工具,先检查配置结果并重开 Codex;连接不上浏览器,确认独立窗口还在,端口和提示词中的地址一致。

把执行的命令、完整报错、出错前的操作一起交给 Codex,比只说“用不了”容易定位问题。

///

LAST


回到医学科研:从一个小问题开始

你以后可以研究测试环境中的表格导出、旧工具的文件格式,或一个界面按钮的数据处理过程。先取得授权,用合成数据练习,不把患者信息、机构密钥或临床设备当成试验材料。

REA 在本地调用分析工具,也不代表分析结果一定留在本地:你使用的模型服务可能接收工具返回的内容。接触真实科研数据前,仍要按所在单位的数据要求处理。

我更建议把第一次任务写得小一点:这个按钮读了什么,输出了什么,我拿什么证明它做对了。等你能回答这些,再考虑扩大范围。

关于作者

我是王佳清,聚焦医疗护理大模型应用,开展临床文本处理、知识增强、数据分析与智能决策支持研究;深度参与中国重点研发计划、国家自然科学基金及企业合作项目;联合多家三甲医院开展应用验证与迭代,推动大模型融入临床护理流程,促进智慧医疗与智慧护理成果转化。

资料与出处

[1] REA 官方仓库,项目定位与热度,核对日期:2026 年 10 月 26 日。

[2] Hunter 的三星电视演示原帖及关于 REA 的补充回复。采用作者自述的“首页、启动器和自动播放”范围,未做设备复现。

[3] YuriRDev 的家居控制原帖。作者说明了自用设备与未开源的情况;原帖未点名 REA。

[4] REA 官方:Notion 剪贴板调查。

[5] REA 官方恐龙速度实验室(中文版),以及页面链接的原游戏源码。教程截图取自该官方页面,原始案例标注使用 REA 4.1.0;本篇安装命令按 6.8.0 文档更新。

[6] REA 官方安装文档与npm 发布信息。

[7] REA 环境准备指南;Node.js 下载。

[8] Chrome 官方:远程调试与独立数据目录。

[9] REA 官方浏览器连接指南。


【声明】内容源于网络
0
0
昱麟AI健康
介绍医疗、护理和健康领域的AI人工智能专业知识及其实际落地的探索方向。
内容 27
粉丝 0
昱麟AI健康 介绍医疗、护理和健康领域的AI人工智能专业知识及其实际落地的探索方向。
总阅读556
粉丝0
内容27