
Motore di runtime con reverse engineering per Roblox/Luau con hooking della VM, rimappatura degli opcode, escalation delle capacità e ambiente script UNC per l'esecuzione di script arbitrari.
Ricostruito, Reverse-Engineered e Documentato da tekkenbugatti
Piattaforma di destinazione: Linux x86_64 / Luau / Roblox Runtime Engine
Linusware 1.2 è un'estensione runtime nativa per Linux x86_64 e un motore di esecuzione per Roblox / Luau. Questo repository contiene il codice sorgente completo ricostruito tramite reverse engineering binario dei componenti runtime ELF, inclusa l'analisi inversa completa degli hook della macchina virtuale, delle tabelle di rimappatura degli opcode, dei meccanismi di escalation dei privilegi e delle API standard dell'ambiente UNC (Universal Naming Convention).
HookedLuaResume (0x3a21d0) — Intercettazione dei Thread VMInstallato come hook inline di salto assoluto a 14 byte a 64 bit con trampoline sul punto di ingresso del dispatch dei thread della macchina virtuale di Roblox (lua_resume).
lua_State->global_State situato all'offset L + 0x20.0x303fffffffffffff alla maschera delle capacità e scrivendo 0x7 nei flag delle capacità.autoexec/ al primo contatto con la VM.HookedCapThrower (0x399900) — Soppressione dei Controlli di Sicurezzacap_thrower).tls_cap_depth, corrispondente a %fs:ef8c) per sopprimere dinamicamente le eccezioni di violazione delle capacità durante l'esecuzione degli script utente.OpcodeEncoder (0x399640) — Rimappatore Bytecode Luau In-PlaceLa VM di Roblox rimescola gli opcode standard del bytecode Luau per scoraggiare l'analisi statica. OpcodeEncoder ri-codifica le istruzioni in memoria:
0x0829400003f02323): Decodifica le istruzioni a lunghezza variabile (dword AUX) per gli opcode 7 .. 0x42.0xfe7b): Decodifica le istruzioni estese a lunghezza variabile per gli opcode 0x4a .. 0x59.g_wire_for_opcode.GrantProtoCapabilities (0x39a360) — Escalation Ricorsiva dei PrototipiLuauProto).&g_capability_grant) in proto + 0x38 su tutte le funzioni figlie root e annidate (proto->p).Implementa le API di esecuzione standard:
hookfunction, hookmetamethod, newcclosure, clonefunction, isexecutorclosure, getrawmetatable, setrawmetatable.getupvalues, setupvalue, getconstants, setconstant, getprotos, setproto.readfile, , , , , , , , .linusware_src/
├── include/
│ └── linusware/
│ ├── linusware.h # Interfacce principali del motore ed export pubblici
│ ├── messages.h # Tabelle di stringhe, costanti di errore e logging
│ ├── script_environment.h # Registrazioni della tabella funzioni UNC
│ ├── workspace.h # Definizioni del sandbox filesystem
│ ├── crypto.h # Wrapper OpenSSL AES e SHA
│ ├── encoding.h # Helper di compressione Base64 e LZ4
│ ├── websocket.h # Interfacce client WebSocket
│ └── decompiler.h # Definizioni del decompilatore bytecode Luau
├── src/
│ ├── linusware/
│ │ ├── hooks.cc # HookedLuaResume, CapThrower, OpcodeEncoder, GrantProto
│ │ ├── linusware.cc # Server IPC (exec.sock) e dispatch coda job
│ │ ├── script_environment.cc# Implementazione di 58+ API ambiente UNC
│ │ ├── workspace.cc # Implementazione IO sandboxed
│ │ ├── crypto.cc # Primitive crittografiche
│ │ ├── encoding.cc # Implementazione Base64 e LZ4
│ │ ├── decompiler.cc # Implementazione decompilatore prototipi
│ │ └── websocket.cc # Livello socket di rete
│ └── cli/
│ ├── linusware_cli.cc # Mittente payload CLI standalone
│ └── wayland_clipboard.cc # Bridge clipboard Wayland/X11
└── CMakeLists.txt # Configurazione build
cd linusware_src
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
Ricostruito e reverse-engineered da 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.