夜雨聆风学习资料网

ARTICLE · 1318618

不用源码,也能拆软件?Craft Anything 比 REA 强在哪

不用源码,也能拆软件?Craft Anything 比 REA 强在哪

不用源码,也能追到软件里的函数、调用关系和部分实现逻辑。Craft Anything 和 REA 都想让 Agent 做到这件事,那前者到底强在哪?

Craft Anything 把分析引擎、桌面工作台和重建流程放到了一起。拆一个功能时,你既能看函数和代码,也能把研究结果继续用在新项目里。这是它与 REA 对比时,最值得展开的地方。

01

先从程序本身查起

Craft Anything 的内置能力包括函数发现、字符串、交叉引用、反汇编、调用图、值流,以及 native_function_pseudocode 这样的伪 C 输出工具。拿到一个受支持的程序,可以从函数和字符串开始调查,再顺着调用关系追下去,不必每一步都先接上独立的原生分析软件。

REA 的深度原生分析主要接入 Hopper、Ghidra、IDA 等引擎。对于还没搭好这套工具链的人,Craft Anything 自带分析能力的路线更方便起步;对于已经熟悉这些引擎的人,REA 能继续利用现有工具。REA 自己也有静态解析器,不能把它理解成单纯的命令转发器。

02

边看代码,边核对证据

Craft Anything 的进阶界面把函数列表、伪 C、反汇编、十六进制、图和证据组织到一起。研究一个功能时,可以一边看代码片段,一边看 Agent 的解释,再检查结论对应的证据。

这对需要自己复核分析过程的人很有吸引力。Agent 说“更新检查从这里触发”,你就能继续看相关函数和调用关系。相比主要在 Agent 对话和终端工具之间推进的方式,这种工作台更适合边问、边看、边确认。

进阶工作台:函数、伪 C 与证据放在同一处。图源:项目 README。

03

分析之后,继续做新版本

Craft Anything 把研究、构建、检查和继续调整做成项目流程。对于“理解这个功能,然后做一个自己的版本”这类任务,调查结果可以继续交给编码 Agent,新项目、检查记录和待处理问题都留在同一个项目里。

官方贪吃蛇项目示意:查看流程进度,再试玩或继续提改动。图源:项目 README。

网站还有多种屏宽下的对照检查,可以把布局差异交回去继续调整。截图接近只说明画面层面的接近,按钮、表单和其他交互是否正确,还要看对应行为的检查。REA 同样能让 Agent 根据证据编写、测试重建版本;Craft Anything 更突出的地方,是把这些环节直接做成桌面产品里的完整流程。

网站项目页:对照差异、检查进度和待办计划。图源:项目 README。

04

真正要看清的边界

默认净室模式依据可见页面、截图和外部表现工作,不直接读取目标内部代码。研究内部实现需要切到深度模式;安装了 Ghidra 时,也可以调用它加强分析。因此,不能把外观复现和内部算法还原混为一谈,也不能把“纯 Rust”理解成所有能力都不需要外部程序。

创建项目时选择净室或深度模式,两者读取目标的范围不同。图源:项目 README。

项目仍处于早期 alpha。它的公开验证记录列出了伪代码参数恢复等已知缺口,部分运行时、Frida 和设备工具在审计中仍标为未验证。支持某类目标、工具能够运行,以及结果足够准确,是三件需要分别检查的事。

05

从工作台起步,还是接入现有工具链

如果你希望从一套桌面工作台起步,把分析、证据和重建进度放在一起,Craft Anything 的整合方式更值得关注。如果你已有成熟逆向工具链,想让 Agent 调用这些引擎,深入调查具体函数和行为,REA 的路线更自然。

REA 还公开了针对具体函数的重建验证案例,例如 DX-Ball 的声像计算,用原始 x86 用例和编译后字节进行核对。这样的证据能支持具体任务,不能推广成“整个软件都能完整恢复”。

Craft Anything 的优势,集中在分析入口、可视化工作台和重建流程的整合。至于谁反编译更准、复杂算法还原更强,公开材料还没有统一的同样本基准,不能靠工具数量下结论。

编辑观察|适用人群

应用价值 ★★★☆☆

更适合已有编码 Agent、想做逆向研究与重建的人;项目仍处于早期 alpha。

按使用场景作推荐,非性能评分。

↗开源项目传送门

项目地址与对比工具,放在这里方便收藏。

Craft Anything

内置分析 · 可视化工作台 · 重建流程

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

REA

Agent 调查 · 外部逆向引擎 · 证据

https://github.com/morluto/rea

聊聊你的用法

你会先拆哪个功能?

是追清楚一个功能的实现,还是先重建一个能运行的版本?

留言说说你的目标软件或使用场景。

少做点重复劳动

持续分享开源工具,也讲清楚它们能做到哪一步。

关注我,把工具的卖点和边界一起看明白。

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

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

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

相关学习资料