Animal2404/xeno-executor

游戏

一个注入 Roblox 进程、在游戏内运行 Luau 脚本的 Windows x64 执行器。

345
16
C++
MIT
上线 5 天

Xeno 是一个公开源码的 Roblox 脚本执行器,但 README 自己说明附带的是参考版本,必须先针对具体客户端校准才能用。把它当作可读、可重编译的源码来看,而不是开箱即用的工具。

解决什么问题

想在 Roblox 里跑 Luau 脚本的人,通常要先开一个外部程序、附加到客户端,再在两个窗口之间来回切换。Xeno 把这步换成进程内完成:注入器把 DLL 手动映射进 RobloxPlayerBeta.exe,DLL 挂钩 lua_resume,让排队的脚本在游戏自己的 Luau 状态上执行,再用 Dear ImGui 直接画在 D3D11 交换链上。得到的是按 INSERT 呼出的编辑器与控制台,而不是第二个窗口。

有什么不同

关键机制是排队调度:从界面提交脚本后,下一次游戏恢复带 game 的 Luau 状态时,在一条新的 Luau 线程上执行。执行器 API(getgenv、hookmetamethod、getrawmetatable、request 等,见 API 文档)由 DLL 直接暴露,而不是打包的脚本集合。源码刻意拆成注入、扫描、挂钩、执行、API、覆盖层几个文件,方便研究注入与挂钩流程的人跟读。

代价也很明确,并且写在文档里:手动映射不处理 TLS 回调、延迟加载导入和 x64 异常表,导入地址在注入器进程中解析,前提是系统模块与目标进程共享每次启动的基址。脚本同步执行,task.wait 等会让出的调用会报执行错误,HTTP 请求会阻塞游戏线程。执行时没有设置 Roblox 线程身份,强制检查身份的 API 可能拒绝调用。

谁值得试

适合想找一个紧凑、可读的手动映射 + 特征码扫描 + lua_resume 挂钩 + 交换链覆盖层示例的 C++ 开发者,前提是愿意自己构建并针对具体客户端调特征码。按 项目说明 从源码构建,也避开了从 MediaFire 文件夹下载、带解压密码并以管理员运行注入器的预编译包。

只想运行脚本的人不适合:默认 lua_resume 特征码被描述为开发占位,必须校准,README 也把当前版本标为 0.1.0 参考构建。依赖让出或非阻塞 HTTP 的脚本同样不适用。

使用条件与边界

构建需要 Windows 10 或 11 x64、装了桌面 C++ 工作负载的 Visual Studio 2022、CMake 3.24 以上和 Git,因为 Luau 0.635、MinHook 与 Dear ImGui 在配置阶段拉取。预编译路线则要解压带密码的压缩包,并以管理员身份运行注入器。真正的长期成本在维护:Roblox 会定期重编客户端,特征码需要重新校准,更新指南 说明可把新特征写进 %LOCALAPPDATA%\Xeno\signatures.ini,而不必重新编译。

还有两点影响日常使用。覆盖层依赖 D3D11 交换链,独占全屏可能导致界面不显示;排错要看单独的 troubleshooting 文档。README 也说明预览图只是对应覆盖层的布局与主题,计划在首个 Release 构建后换成真实截图,所以它们不是实际运行画面。

HotRepo 点评

HotRepo 在 2026-10-25 的 C++ 新项目榜(不是总榜或日榜)记录到 345 总星、第 8 名,但覆盖范围只有 2026-10-24 至 2026-10-25,且没有可比的日榜历史,因此无法判断热度能否持续。投入时间前最该确认的具体问题是:仓库里的特征码是否匹配你要附加的客户端构建;不匹配的话,校准就是第一项任务,而不是以后的补充。

本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。