Animal2404/xeno-executor

Games

A Windows x64 Luau script runner that injects into Roblox and runs scripts inside the game process.

345
16
C++
MIT
5 days old

Xeno is a small, openly published Roblox script executor, but its own README says the shipped build is a reference version you will have to calibrate before it works. Treat it as a source to read and rebuild, not as a ready tool.

The problem

A Roblox scripting user wants to paste Luau, execute it inside a running game, and see output immediately without juggling a separate console. The usual approach means launching an external program, attaching it to the client, and keeping two windows in sync. Xeno changes that step: an injector manual-maps a DLL into RobloxPlayerBeta.exe, and the DLL hooks lua_resume so queued scripts run on the game's own Luau state, with a Dear ImGui overlay drawn over the D3D11 swapchain. The result is an in-process editor and console toggled with INSERT, rather than a second window.

What's different

The distinguishing mechanism is scheduling: scripts are queued from the UI and drained on a fresh Luau thread the next time the game resumes a Luau state that exposes game. The executor API set (getgenv, hookmetamethod, getrawmetatable, request, and friends, documented in the API reference) is exposed from the DLL rather than a packaged script bundle. Source is deliberately split into injector, scanner, hooks, execution, API and overlay files, so someone studying injection and hooking can follow the flow.

The trade-off is sharp and documented. The runtime does not process TLS callbacks, delay-load imports or x64 exception tables, and import addresses are resolved in the injector process on the assumption that system modules share per-boot bases with the target. Scripts run synchronously, so task.wait and other yields fail as execution errors, and HTTP requests block the game thread. Execution does not set a Roblox thread identity, so APIs that enforce one may reject calls.

Who should try it

This fits a C++ developer who wants a compact, readable example of manual mapping, signature scanning, an lua_resume hook and a swapchain overlay, and who is prepared to build it and adjust the pattern for a specific client. Building from project instructions also avoids the prebuilt archive, which is distributed through a MediaFire folder with a password and an administrator-run injector.

It is a poor fit for someone who just wants to run scripts: the default lua_resume signature is described as a development placeholder that must be calibrated, and the README labels this a 0.1.0 reference build. It is also unsuitable for any script relying on yields or non-blocking HTTP.

Requirements and limitations

Windows 10 or 11 x64, Visual Studio 2022 with the desktop C++ workload, CMake 3.24+, and Git, since Luau 0.635, MinHook and Dear ImGui are cloned at configure time. The prebuilt path instead requires unpacking a password-protected archive and running the injector as administrator. Ongoing upkeep is the real cost: Roblox rebuilds its client regularly, so the pattern must be recalibrated, and the update guide describes dropping a new signature into %LOCALAPPDATA%\Xeno\signatures.ini rather than rebuilding.

Two further limits affect daily use. The overlay expects a D3D11 swapchain, so exclusive fullscreen can prevent it from appearing, and troubleshooting relies on the separate troubleshooting doc. The README also notes the preview images mirror the intended layout and are to be replaced with live captures after the first Release build, so they are not screenshots of shipped output.

HotRepo's take

HotRepo recorded 345 total stars at #8 on its NEW-REPOSITORY board for C++ on 2026-10-25, but the stored coverage spans only 2026-10-24 to 2026-10-25 with no comparable daily-board history, so persistence cannot be judged. The concrete thing to verify before investing time is whether the in-repo signature matches the client build you intend to attach to; if it does not, calibrating it is the first task, not an afterthought.

Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.