医学科研 × 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]
准备一个练习文件夹
在桌面新建 rea-dino-practice 文件夹,用 Codex 打开它。你需要一个已经能正常对话的 Codex,以及 Google Chrome。
再打开 Mac 的“终端”,检查 Node.js 和 npm:
这两条命令只查看版本。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]
把 REA 接到 Codex
在终端执行下面这条命令,先看配置计划:
--dry-run 表示不应用配置改动;不过,npx 仍会下载并运行这个软件包。看不懂输出,可以把它交给 Codex,问:“请解释准备修改哪些文件,有没有失败项;这次只分析网页。”
确认计划后,执行实际接入命令,并按提示确认:
这次练习不用分析原生二进制,可以跳过可选的 Hopper 安装。结束后完全退出并重新打开 Codex,让它加载 REA 连接和配套使用说明。[6]
给 AI 打开一个可检查的浏览器窗口
把下面整段粘到终端。它会打开一个独立的 Chrome 数据目录,进入恐龙游戏。
成功后,你会看到一个新窗口。保持它和启动它的终端开启;这个窗口只用来做练习,不登录工作账号。独立数据目录也是新版 Chrome 调试连接的要求。[8]
其中,http://127.0.0.1:9222 是 REA 连接这个浏览器的入口,游戏网址则告诉它要检查哪个页面。[9]
先查规则,再让它写游戏
回到 Codex,把这一段发出去:
看回答时,检查它有没有读取脚本的工具记录和代码出处。官方案例中的初始速度是 6,每次符合条件的更新增加 0.001,增加前判断速度是否小于 13。[5]
官方公开的 REA 源码分析示例:原始加速分支、速度常量及重建函数。[5] 这是官方网页截图,并非本机 Codex 会话。
查清后,在同一个聊天继续发:
等它写完,在练习文件夹找到 dino-demo.html,右键选择用 Chrome 打开。先试开始、跳跃、滑块和重开,再观察自动模式是否从 6 开始增长。界面不必和官方样例长得一样。
能玩之后,还要验算
画面能动,不能证明它用对了规则。继续让 Codex 检查游戏实际调用的加速函数:
这四组数来自官方实验室。最后一个是 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 官方浏览器连接指南。

