夜雨聆风学习资料网

ARTICLE · 1314835

REA 之后,又一款全能 AI 逆向工具开源了

REA 之后,又一款全能 AI 逆向工具开源了

REA 展示过一种用法:让编码 Agent 带着分析工具研究软件,再根据找到的证据实现自己的版本。

这次要介绍的 Craft Anything,覆盖的范围也很广。网站、桌面软件、手机应用、游戏,连固件、抓包和数据库都有对应分析工具。这个由 ArtCraft 团队开源的项目,截至 11 月 5 日,GitHub 已有 1.2 万多 Star。

先简单介绍

Craft Anything 是一个用 Rust 写的桌面应用,也提供命令行,以及供 Agent 调用工具的 MCP 接口。它自己准备分析工具,写代码则交给电脑上已经装好、登录好的编码 Agent。比如 Claude Code,负责把研究得到的材料变成一个新项目。

你给它目标,再说清希望做什么,它把调查、构建、检查和继续修改串成一个流程。“研究明白”和“动手做出来”,放进了同一个项目里。 它现在还是早期 Alpha,各方向的完成程度不同;覆盖面广,也要按具体目标判断能完成哪一步。

下面按 11 月 5 日的官方主分支资料介绍。主分支会继续开发,下载发行包时,还要对照该版本的说明。

功能详情

网站、软件、游戏,都有对应工具

网站比较直观:给一个网址,它可以查看页面在不同宽度下怎样排版,记录文字、字体、颜色、间距,也能看部分菜单展开后的样子。想重做自己的网站,就可以先研究原来的栏目和布局,再换成自己的内容。

换成桌面软件或手机应用,问题就变成了“这个功能怎么做的”。它有查看函数、字符串、调用关系和伪代码的工具,也覆盖 .NET、Java、Android、Apple、Electron 等类型。比如研究一个文件处理工具,可以顺着相关函数继续找它怎样读文件、处理数据。

游戏也在范围内。官方提供了游戏文件、资源和引擎相关工具,重建时可以指定 Unity、Unreal、Godot 等路线。想研究的是某个玩法,就把玩法和目标技术栈说清楚。游戏目前还有依赖生成项目自报测试结果的检查,是否真正能玩、玩起来对不对,仍要另外核对。

再往下还有固件、网络抓包、数据库等。它不是要求每个目标都重做一遍:只想弄清一个文件的结构、找一段行为的证据,也可以停在调查这一步。列出某种格式,当然也不等于能还原它背后的全部业务。

先选目标,再说你想做什么

默认的简单模式,入口就是下面这个样子:选网站、应用、游戏,或者从一个新需求开始,再填写目标和要求。需要你决定的事情,会用提问卡、操作确认卡摆出来。

看中间的四个目标入口,再往下是取材模式和需求输入。

这里有两个取材选项。Clean room(净室)按官方规则,用截图、页面可见文字和量出来的布局等外部材料推进重建;Deep(深度)进一步开放内部文件、二进制和反编译等分析工具。

这两个选项控制能研究到哪里。净室不是操作系统沙箱,编码 Agent 在电脑上能执行什么,仍然看它自己的权限。对安装依赖、运行命令之类的操作,项目里的确认卡值得看一眼。

做完第一版,还会继续找差异

研究、构建、检查、就绪,对应界面里的 Study、Build、Check、Ready。研究得到的材料留下来,Agent 按需求建立新项目,检查发现问题以后,还能在原项目里继续改。

检查发现差异以后,Agent 就有了下一轮修改的依据。以网站为例,它默认在桌面、平板、手机三档宽度下比较页面,把布局、字体和间距等差异列出来,再交给 Agent 处理。

右侧是四步进度,中间是差异、操作确认和待办。

后续想改颜色、补一个栏目,也可以在同一个项目里继续提要求。网站画面接近只是其中一种检查结果,后台业务、完整交互和游戏玩法,仍要按各自的任务看,不能只凭一个完成状态判断。

想往里面看,也有完整工作台

简单模式主要让你交目标、看进度。需要研究内部材料时,要先允许 Deep 模式,再进入高级工作台查看对应工具和面板。它提供函数列表、伪代码、反汇编、调用图和证据面板;具体能得到什么,要看目标类型和分析条件。

左边选函数,中间看代码与问答,右边保留证据。

习惯在现有 Agent 里工作,也不一定要打开这个界面。它还提供命令行,以及让 Agent 调用工具的 MCP 接口,背后用的是同一套引擎。命令行工具可用后,可以这样启动 MCP 服务:

sh

craft-anything-cli mcp

快速开始

普通试用可以先去 GitHub Releases 选系统对应的安装包,macOS、Windows、Linux 等都有。使用发行包可以省去编译 Craft Anything 本身这一步;准备从源码编译它时,再看 Rust 等构建要求。

让它生成和运行新项目,还要准备目标技术栈需要的环境。网站可能需要 Node.js,游戏可能需要对应引擎和 SDK,具体随项目而定。

构建前要先准备一个可用的编码 Agent,并完成它自己的登录。官方目前优先支持 Claude Code;Codex 虽然有适配器,官方还没有完成真实账号的构建验证。开源的是软件,模型调用用的是你自己的账号和用量。

打开桌面应用后,先选一个自己拥有或获准研究的小目标:一个页面、一个功能,或者一份文件。填入目标,选择取材模式,再说明希望理解什么、做出什么,之后跟着项目里的进度和问题继续。

如果能在终端调用命令行工具,可以先让它检查环境:

sh

craft-anything-cli doctor

新项目默认保存在 Documents/Craft Anything 下,也可以在设置里修改。项目里的 capture/ 留目标材料,app/ 放生成代码,checks/ 留比较记录。若选择编辑已有项目,文件则按该项目的目录组织。

和 REA 怎么选

REA 的主要入口是命令行、MCP 和配套工作流,适合把分析工具接到现有编码 Agent 里。深度分析原生程序时,它能接 Ghidra、Hopper、IDA 等工具,自己也有静态分析能力;官方有局部功能重建案例,也提供运行采集与对比工具。

Craft Anything 则多了一个明显的桌面入口,把研究、构建、检查和后续修改放到项目页。它自带 Rust 分析引擎,需要时也能使用 Ghidra。对想围绕一个界面看进度、看材料、继续提要求的人,这种组织方式值得了解。

所以两者都覆盖广,也都能服务于研究后的实现和测试。选择时可以先看:你是想给现有 Agent 增加一套研究工具,还是想用一个独立工作台管理这整件事。Craft 出现得更晚,现有资料还不足以判断谁能全面替代谁。

最后聊聊

我比较看好的,是把调查材料、生成代码和每轮比较留在同一个项目里。研究结束后可以接着写,第一版做完了可以继续改;想换个技术栈重做自己的版本,前面的材料也有地方查。

如果你已经在用编码 Agent,又经常需要理解现成软件的某个功能,这个项目可以留意。真准备开始,先把一个小目标从研究走到检查,比直接要求重做一套大型软件,更容易看出它在哪一步帮得上忙。

开源地址

https://github.com/storytold/craft-anything

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料