
Reverse-engineerte Laufzeit-Engine für Roblox/Luau mit VM-Hooking, Opcode-Remapping, Capability-Eskalation und UNC-Skriptumgebung zur Ausführung beliebiger Skripte.
Rekonstruiert, Reverse-Engineered & dokumentiert von tekkenbugatti
Zielplattform: Linux x86_64 / Luau / Roblox Runtime Engine
Linusware 1.2 ist eine native Linux-x86_64-Laufzeiterweiterung und Ausführungs-Engine für Roblox / Luau. Dieses Repository enthält den vollständigen rekonstruierten Quellcode, der durch Binary-Reverse-Engineering der ELF-Laufzeitkomponenten gewonnen wurde, einschließlich der vollständigen Reverse-Analyse der Virtual-Machine-Hooks, Opcode-Remapping-Tabellen, Privilegien-Eskalationsmechanismen und der standardmäßigen Universal-Naming-Convention-(UNC)-Umgebungs-APIs.
HookedLuaResume (0x3a21d0) — VM-Thread-InterceptionInstalliert als Inline-14-Byte-64-Bit-Absolut-Sprung-Hook mit Trampoline am Roblox-Virtual-Machine-Thread-Dispatch-Einstiegspunkt (lua_resume).
lua_State->global_State am Offset L + 0x20.0x303fffffffffffff der Capability-Maske zugewiesen und 0x7 in die Capability-Flags geschrieben wird.autoexec/ platziert wurden.HookedCapThrower (0x399900) — Unterdrückung von Sicherheitsprüfungencap_thrower).tls_cap_depth, entsprechend %fs:ef8c), um Capability-Verletzungsausnahmen während der Ausführung von Benutzerskripten dynamisch zu unterdrücken.OpcodeEncoder (0x399640) — In-Place-Luau-Bytecode-RemapperDie Roblox-VM verschlüsselt standardmäßige Luau-Bytecode-Opcodes, um statische Analysen zu erschweren. OpcodeEncoder kodiert Anweisungen im Speicher neu:
0x0829400003f02323): Dekodiert Anweisungen variabler Länge (AUX-Dwords) für Opcodes 7 .. 0x42.0xfe7b): Dekodiert erweiterte Anweisungen variabler Länge für Opcodes 0x4a .. 0x59.g_wire_for_opcode-Nachschlagetabelle.GrantProtoCapabilities (0x39a360) — Rekursive Prototyp-EskalationLuauProto).&g_capability_grant) an proto + 0x38 auf allen Root- und verschachtelten Child-Funktionen (proto->p).Implementiert standardmäßige Ausführungs-APIs:
hookfunction, hookmetamethod, newcclosure, clonefunction, isexecutorclosure, getrawmetatable, setrawmetatable.getupvalues, setupvalue, getconstants, setconstant, getprotos, setproto.readfile, , , , , , , , .linusware_src/
├── include/
│ └── linusware/
│ ├── linusware.h # Kern-Engine-Schnittstellen & öffentliche Exporte
│ ├── messages.h # String-Tabellen, Fehler- & Logging-Konstanten
│ ├── script_environment.h # UNC-Funktionstabellen-Registrierungen
│ ├── workspace.h # Dateisystem-Sandbox-Definitionen
│ ├── crypto.h # OpenSSL-AES- & SHA-Wrapper
│ ├── encoding.h # Base64- & LZ4-Komprimierungs-Helfer
│ ├── websocket.h # WebSocket-Client-Schnittstellen
│ └── decompiler.h # Luau-Bytecode-Decompiler-Definitionen
├── src/
│ ├── linusware/
│ │ ├── hooks.cc # HookedLuaResume, CapThrower, OpcodeEncoder, GrantProto
│ │ ├── linusware.cc # IPC-Server (exec.sock) & Job-Queue-Dispatch
│ │ ├── script_environment.cc# Implementierung von 58+ UNC-Umgebungs-APIs
│ │ ├── workspace.cc # Sandbox-IO-Implementierung
│ │ ├── crypto.cc # Kryptografische Primitive
│ │ ├── encoding.cc # Base64- & LZ4-Implementierung
│ │ ├── decompiler.cc # Prototyp-Decompiler-Implementierung
│ │ └── websocket.cc # Netzwerk-Socket-Schicht
│ └── cli/
│ ├── linusware_cli.cc # Eigenständiger CLI-Payload-Sender
│ └── wayland_clipboard.cc # Wayland/X11-Zwischenablage-Brücke
└── CMakeLists.txt # Build-Konfiguration
cd linusware_src
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
Rekonstruiert und reverse-engineered von tekkenbugatti.
writefileappendfiledelfilemakefolderdelfolderlistfilesisfolderisfilecrypt.encrypt, crypt.decrypt (AES-CBC, AES-GCM), crypt.hash (SHA-256, SHA-384, SHA-512), crypt.base64encode, crypt.base64decode, crypt.lz4compress, crypt.lz4decompress.request, HttpGet, WebSocket.connect, decompile, cloneref, setclipboard, getfpscap, setfpscap.