跳到正文
发现
Craft Anything:逆向分析并重建软件
桌面应用开发者工具

Craft Anything:逆向分析并重建软件

指向任意网站、应用或游戏,用真实检查工具研究其原理,再由 AI 编码代理构建你自己的版本。

admin
发布于 2026-11-03
浏览
1
访问
0
下载
0
版本
v0.3.0
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

Craft Anything 是一个用纯 Rust 编写的开源「净室」重建引擎:把它指向一个网站、桌面应用、手机应用、游戏或文件,它先用真实的检查工具研究原作的构造与行为,再由本机的 AI 编码代理按你指定的语言、框架或引擎生成一个新项目,最后把成果与原作逐项比对并反复修正。它同时提供桌面应用(egui)、命令行工具和 MCP 服务器,三者共用同一套引擎。

主要功能

  • 研究:检查目标的页面(多种屏幕宽度)、代码、文件与运行方式,每个结论都附带证据。
  • 构建:用自然语言描述需求(如「重建这个网站」「用 Rust 重做这个游戏的玩法」),编码代理在新项目中实现。
  • 校验:把构建结果与原作比较,列出尚未匹配的部分,并按你的要求继续改进。
  • 两种界面:Simple 模式以「Study → Build → Check → Ready」四步走,用大白话显示代理在做什么、提问卡和审批卡、相似度,以及打开成果或其文件夹的按钮;Advanced 模式是完整工作台,包含全部工具(Ctrl/Cmd+K)、函数、字符串、伪 C 代码、反汇编、十六进制、调用图、证据台账、未知项、任务、日志和代理控制台。
  • Clean room 与 Deep:Clean room 为默认模式,不读取原作内部的代码、文件或页面源码,只依据可见信息(截图、可见文字、实测布局与配色字体间距、应用窗口画面)工作;Deep 模式则读取程序的代码与文件(内置引擎,安装 Ghidra 时也会用),读取网站 JavaScript 等,仅供个人使用。可在标题栏或设置中切换,或使用 settings_set deep_mode true、CLI 的 --deep / --clean-room。
  • 面向代理:314 个工具,每个都是 CLI 子命令和 MCP 工具,代理无需打开应用即可研究目标或跑完整重建;大结果先返回摘要,再用 core_evidence_browse 分页查看。
  • 覆盖面:原生程序、.NET、Java、Android、Apple、Electron/JavaScript、网站、固件、抓包、数据库和游戏文件;自带解码器、反汇编器与反编译器,部分能力以 WebAssembly 形式跑在浏览器里。

安装与使用

需要 Rust 1.97 或更新版本(rustup update)。在 Debian 或 Ubuntu 上,桌面应用还需要:

sudo apt-get install libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev

然后:

git clone https://github.com/storytold/craft-anything && cd craft-anything
cargo run --release -p craft-anything
cargo install --path apps/craft-anything-cli
craft-anything-cli doctor

doctor 会检查安装、编码代理和引擎是否就绪。命令行重建示例(提问在终端中进行):

craft-anything-cli rebuild https://example.com "Recreate this website"
craft-anything-cli rebuild - "A snake game in Rust" --rounds 1

作为 MCP 服务器或查看全部工具:

craft-anything-cli mcp
craft-anything-cli commands

新项目默认放在 Documents/Craft Anything(可在 Settings → General 修改)。每个项目文件夹包含 craft.json(请求、目标、状态与历史)、capture/(从目标采集的内容)、app/(生成的项目)、checks/(与原作的每次比对)、investigation.cany/(证据)和 inbox/(待回答问题)。也可以从自己选的文件夹启动项目(Start 下的 Choose a folder… 或 --project-folder)。

注意事项

  • 构建阶段需要本机已登录的编码代理:优先支持 Claude Code,运行你自己未修改的 claude 程序,使用你自己的登录,Craft Anything 不会接触你的账号;Codex 适配器存在但尚未在真实安装上验证;其他支持 ACP 的代理(Gemini CLI、Qwen Code、opencode、goose、Hermes、Maki)可按后端切换,其中只有 Maki 做过实际运行。用于问答和分析的模型可选 Anthropic、OpenAI、OpenRouter 或本地 OpenAI 兼容服务器。
  • 默认的 Clean room 模式会拒绝窥探内部信息的工具,并提示如何开启 Deep 模式。
  • 项目处于 early alpha 阶段,功能与行为可能继续调整。


本作品整理自 GitHub 开源项目 storytold/craft-anything,原作者 @storytold,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.3.0当前版本

    修复 .utoc 命名海量空压缩方法导致的内存耗尽、Windows 下裸程序名查找 shim、带版本号目录及 Linux 包安装的 Ghidra 识别、macOS 版随包附带 craft-anything-cli、非 git 目录中运行 Codex、地址空间顶部代码分析卡死等问题,并为比较输入输出对象 schema。

评论