感谢 Codex 尽职尽责地打包漏洞利用程序以供分发。不,我还没有阅读分发的软件包。
在 FS 内运行两个小型原生函数,检查它们的结果,并恢复原始指令。仅适用于 Switch 2;无需 npm install 或编译器。
你需要 SmileBASIC 4.4.9、系统软件 23.0.1、macOS 或 Linux 上的 Node.js 22+,以及 SmileBASIC 存档中超过 20 MiB 的可用空间。计算机和主机必须位于同一可达网络中。
在 SmileBASIC 的 Make a Program 中,将 bootstrap.bas 输入到槽位 0 并保存为 NS2。使用 USB 键盘会有所帮助。该 ZIP 是计算机软件包,不是 SmileBASIC 导入文件;没有公开的下载密钥。
重启主机,打开 SmileBASIC,并进入 Direct 模式。
在计算机上,在解压后的文件夹中打开终端并运行:
node run.cjs
如果被询问,请选择主机可访问的计算机地址。你也可以直接提供该地址:node run.cjs 192.168.1.10。连接使用端口 39380。
在 SmileBASIC 中,加载已保存的程序并分别输入以下命令:
LOAD "TXT:NS2"
RUN
REMOVE NSR,&H60000000,&H3FFFFFFF
确认加载。REMOVE 产生的 Out of memory 消息是预期内的。然后输入计算机打印出的 V=START(...) 行。
保持 SmileBASIC 打开且计算机处于唤醒状态,直到出现 FS execution verified。完成后重启主机;这也会恢复原始的 RO 进程。此演示不会安装自定义固件或持久化机制。
如果运行失败,请保留 runs 文件夹并在重试前重启主机。每个应用程序进程只输入一次 REMOVE。日志和临时内存捕获保留在 runs 中;它们不属于可分发内容。
于 2026 年 10 月 21 日进行了物理测试:两项 FS 指令挑战、恢复和清理均通过。获取过程对时序敏感:测试在第三次全新启动时通过。前两次尝试在验证检查处停止并进行了清理。
run.cjs 是主机入口点。engine/switch2/pipeline.cjs 包含固定的启动序列;engine/switch2/process/fs-execute.cjs 包含 FS 演示。原生辅助程序及其源代码位于 engine/switch2/ro/payload/。开发者可以使用 Zig 0.15.2 复现:
node engine/build-payload.cjs --check --zig /path/to/zig。