事件背景:ArtCraft项目的诞生与影响
上周,一位名叫Brandon Thomas的开发者因对Adobe掠夺性的商业模式感到厌倦,决定使用Rust语言重新构建七个Creative Cloud应用程序(包括Photoshop、Illustrator和Premiere),并将它们开源且免费提供给公众。该项目被命名为ArtCraft,Brandon在多次遭遇Adobe的取消费用后,通过调用Claude大模型,从零开始逆向工程了拥有30多年历史的Adobe代码库。令人惊讶的是,这些应用甚至能在Linux平台上运行,而这是Adobe从未官方支持过的平台。这一举动引发了广泛关注,因为普通用户现在也能通过另一个名为“reverse-engineer-anything”(简称REA)的项目实现类似的操作。该项目最近在网络上病毒式传播,因为它能够轻松反编译任何获取到的原生二进制文件。
“The project is called ArtCraft, and the developer's name is Brandon Thomas... opened up Claude, then reverse-engineered Adobe's 30-plus-year code base from scratch.”
REA项目支持反编译的对象范围极广,包括剥离了符号的ELF、PE和Mach-O可执行文件、带有混淆常量池的JVM字节码、符合ECMA-335标准的.NET程序集、具有特定架构指令集的裸机固件,甚至包括嵌入在声明式基础设施清单中的OCI容器层。用通俗的话来说,这意味着世界上几乎所有的应用程序现在都变成了开源软件,无论它们是否愿意。视频作者指出,这一技术突破可能成为传统软件模式的终结者。
实测ArtCraft:理想与现实的差距
尽管表面上看,Brandon Thomas的项目似乎一夜之间让Adobe套件变得过时——用户可以在网站上免费下载基于Rust的Adobe程序版本,但作者亲自试用后发现存在一个明显的缺陷:软件几乎无法使用。作者每月支付69美元订阅费以使用Premiere进行视频编辑,因此对开源替代方案充满期待。虽然DaVinci Resolve作为开源替代品已存在20多年,但作者仍对FilmCraft(ArtCraft中的视频编辑应用)抱有信心。初次打开时,其用户界面几乎是Premiere的1:1克隆版,这意味着无需学习曲线即可立即开始工作。
然而,在实际使用中问题迅速暴露。当作者将一段素材拖入时间线并播放时,音频波形出现严重滞后,整体运行缓慢且卡顿。尽管Rust被宣传为一种“极快”的编程语言,但FilmCraft的表现却令人失望。此外,作者尝试在片段之间添加过渡效果时,发现其质量远不及Premiere。通过并排对比可以看出,Glitch过渡效果存在明显的瑕疵和错误。对于追求极致体验的用户来说,FilmCraft目前还远远不够好。作者虽然希望该项目未来能有所改进,但不得不承认Adobe的生态壁垒依然坚固。
逆向工程实战:使用REA分析Premiere
既然直接使用现成的开源替代品效果不佳,作者决定尝试自己逆向工程Adobe Premiere。Premiere主要由C和C++编写,其源代码是Adobe的最高机密知识产权。然而,为了在机器上运行,这些代码必须编译成由0和1组成的原生二进制文件。虽然人类难以直接阅读这些二进制数据,但通过繁琐的工作可以将其映射回类似源代码的形式。REA项目正是为此而生。
作者首先在Windows系统上通过Node.js和NPX命令设置REA,并配置了Ghidra集成。Ghidra是一款能够读取原生EXE和DLL文件并进行只读分析的工具,被认为是该项目中最值得称赞的核心组件。设置完成后,作者像使用其他AI代理一样,指示REA检查本地安装的Adobe Premiere版本。具体任务是分析时间线集成模块,找出其实现特定功能的方式。经过一段时间的分析,REA返回了大量类C伪代码、汇编指令、字符串、符号、调用和引用。对于作者这样的“过时HTML程序员”来说,这些原始数据毫无用处。
“First, we set it up by running it with Node.js and the NPX command. And then because I'm a loser on Microsoft Windows, we'll configure REA's Ghidra integration... can do a read-only analysis of native EXEs and DLLs.”
从逆向代码到定制化应用:Studbase案例
尽管REA生成的伪代码杂乱无章,但作者计划将其传递给另一个编码代理(如Claude),以在Rust中重新实现相同的功能。通过这种方式,作者希望构建一个名为“Premiere Light”的简化版软件,仅包含用户真正需要的功能,且完全免费。作者进一步指出,2026年的开发者不应再为开发工具付费,而应将资金用于消耗AI令牌。为此,他选择了一个名为Supabase的古老技术作为案例。Supabase本质上是AWS之上的封装层,提供数据库UI界面。
虽然Supabase大部分是开源的,但其中包含大量作者不需要的功能。因此,他利用REA的网络分析功能来监控API交互和UI变化。通过分析这些网络流量和数据交换,作者构建了一个名为“Studbase”的后端系统。该系统不仅完美契合其特定需求(如Horse Tender和Donker项目),而且根据作者刚刚“捏造”的基准测试,其速度快了数个数量级。尽管这个性能数据是虚构的(作者自嘲道:“Trust me, bro. You can trust these trust me, bro benchmarks”),但它展示了通过逆向工程定制轻量级后端的可能性。
赞助商演示:Appify MCP Server的应用
视频中段,作者介绍了赞助商Appify。其MCP(Model Context Protocol)服务器允许AI代理连接数千种被称为“actors”的工具。这些工具可以执行诸如从YouTube抓取实时数据或监控Amazon竞争对手价格等任务。在视频中,作者使用Appify来追踪Instagram上#Donkeys标签下点赞最多的帖子,以便邀请最具吸引力的资产加入其平台。连接服务器仅需一行代码,作者用自然语言描述需求后,代理自动选择合适的工具返回结构化数据。
“The most impressive part was how few tokens it took. But because Appify's MCP server only exposes a handful of core tools, it then finds the best one for your job and runs it in the background to avoid token bloat.”
Appify的核心优势在于其高效的令牌消耗控制。由于MCP服务器仅暴露少量核心工具,代理会自动选择最适合当前任务的工具并在后台运行,从而避免令牌膨胀。作者提到使用代码“fireship25”可获得$25的免费试用额度,并强调这种自动化流程极大地简化了数据获取任务。
结论
视频通过ArtCraft项目和REA工具展示了AI辅助逆向工程的巨大潜力,但也揭示了当前技术的局限性。虽然Brandon Thomas成功用Rust重写了Adobe应用并开源,但实测表明其性能、稳定性和功能完整性远未达到生产环境标准。REA工具虽然在理论上能够反编译各种二进制文件并生成伪代码,但生成的代码仍需大量人工或二次AI处理才能转化为可用软件。此外,定制化工具(如Studbase)的开发依赖于对网络协议的深入分析,而非简单的代码还原。总体而言,“万物皆可开源”在技术层面已初步实现,但在用户体验和商业可行性上仍面临巨大挑战,Adobe等巨头的主导地位短期内难以被完全颠覆。