夜雨聆风学习资料网

ARTICLE · 1185030

没有源码,怎么研究一个功能?REA 让 AI 帮

没有源码,怎么研究一个功能?REA 让 AI 帮

没有源码,怎么研究一个功能?REA 让 AI 帮

最近看了一个叫 REA 的开源项目,觉得挺适合经常研究软件实现的朋友。

看到应用里的功能好奇怎么做出来的。有源码顺着找就行;只有安装包,就得先弄清文件结构再追调用。REA 就是想让 AI 编程助手接手这活儿。它全称 Reverse Engineer Anything,通过 MCP 让助手调分析工具查代码和二进制文件,再根据证据往下追。

它能查的范围挺广。JavaScript 和 Electron 应用能看模块关系和 IPC 调用;原生二进制文件能给伪代码、汇编和调用关系;Go 程序能扒出编译器版本;Android APK 也能查清单和反编译方法。不过门槛随目标变,深扒原生程序还得配 Hopper、Ghidra 或 IDA。

官方拿 Notion 桌面端做了个演示:复制文本时数据怎么进剪贴板?它直接找到调用的 API,顺着 preload 脚本和 IPC 通道,一路追到主进程处理函数,最后落到 Electron 的写入接口。每一步都能对应到具体代码位置,比干巴巴的功能解释好核对多了。

另一个老游戏 DX-Ball 更狠。它把原版声像计算函数扒出来重建 C 实现,不仅过了 3205 个行为测试用例,重新编译出来的 63 字节还跟原函数严丝合缝。这组数字只对应这一个函数,完整可玩的重建版当时还在开发。

想试的话,装好 Node.js 和 npm,跑一行 npx rea-agents setup 就行。它支持 Claude Code、Codex、Cursor 等客户端。第一次最好从自己开发的 Electron 应用入手,比如让它追踪导出功能的调用链。记得让 AI 标明哪些结论有证据、哪些待验证。

需要注意的是,反编译的伪代码可能缺信息,DX-Ball 案例里助手就靠汇编补回了遗漏的输入。而且它在本机分析,模型数据政策得留意,商用工具的许可证也得自己搞定。最适合的场景就是手里有个应用或二进制文件,带着明确问题去查。

原文没有源码,怎么研究一个功能?REA 让 AI 帮你往下查
广东,35分钟前,

相关学习资料