
Motor de runtime com engenharia reversa para Roblox/Luau com hooking de VM, remapeamento de opcodes, escalonamento de capacidades e ambiente de script UNC para executar scripts arbitrários.
Reconstruído, Engenharia Reversa e Documentado por tekkenbugatti
Plataforma Alvo: Linux x86_64 / Luau / Roblox Runtime Engine
Linusware 1.2 é uma extensão de runtime nativa Linux x86_64 e motor de execução para Roblox / Luau. Este repositório contém o código-fonte completo reconstruído, derivado da engenharia reversa binária dos componentes de runtime ELF, incluindo análise reversa completa dos hooks da máquina virtual, tabelas de remapeamento de opcodes, mecânicas de escalonamento de privilégios e APIs de ambiente padrão Universal Naming Convention (UNC).
HookedLuaResume (0x3a21d0) — Interceptação de Thread da VMInstalado como um hook de salto absoluto inline de 14 bytes em 64 bits com trampoline no ponto de entrada de despacho de thread da máquina virtual Roblox (lua_resume).
lua_State->global_State localizado no offset L + 0x20.0x303fffffffffffff à máscara de capacidades e escrevendo 0x7 nos flags de capacidades.autoexec/ no primeiro contato com a VM.HookedCapThrower (0x399900) — Supressão de Verificação de Segurançacap_thrower).tls_cap_depth, correspondente a %fs:ef8c) para suprimir dinamicamente exceções de violação de capacidades durante a execução de scripts de usuário.OpcodeEncoder (0x399640) — Remapeador de Bytecode Luau In-PlaceA VM do Roblox embaralha opcodes padrão do bytecode Luau para dificultar análise estática. OpcodeEncoder re-codifica instruções em memória:
0x0829400003f02323): Decodifica instruções de comprimento variável (dwords AUX) para opcodes 7 .. 0x42.0xfe7b): Decodifica instruções estendidas de comprimento variável para opcodes 0x4a .. 0x59.g_wire_for_opcode.GrantProtoCapabilities (0x39a360) — Escalonamento Recursivo de ProtótiposLuauProto).&g_capability_grant) em proto + 0x38 em todas as funções filhas raiz e aninhadas (proto->p).Implementa APIs de execução padrão:
hookfunction, hookmetamethod, newcclosure, clonefunction, isexecutorclosure, getrawmetatable, setrawmetatable.getupvalues, setupvalue, getconstants, setconstant, getprotos, setproto.readfile, , , , , , , , .linusware_src/
├── include/
│ └── linusware/
│ ├── linusware.h # Interfaces principais do motor e exports públicos
│ ├── messages.h # Tabelas de strings, erros e constantes de logging
│ ├── script_environment.h # Registros da tabela de funções UNC
│ ├── workspace.h # Definições do sandbox de sistema de arquivos
│ ├── crypto.h # Wrappers OpenSSL AES e SHA
│ ├── encoding.h # Helpers de compressão Base64 e LZ4
│ ├── websocket.h # Interfaces do cliente WebSocket
│ └── decompiler.h # Definições do decompilador de bytecode Luau
├── src/
│ ├── linusware/
│ │ ├── hooks.cc # HookedLuaResume, CapThrower, OpcodeEncoder, GrantProto
│ │ ├── linusware.cc # Servidor IPC (exec.sock) e despacho da fila de jobs
│ │ ├── script_environment.cc# Implementação de 58+ APIs de ambiente UNC
│ │ ├── workspace.cc # Implementação de IO em sandbox
│ │ ├── crypto.cc # Primitivas criptográficas
│ │ ├── encoding.cc # Implementação Base64 e LZ4
│ │ ├── decompiler.cc # Implementação do decompilador de protótipos
│ │ └── websocket.cc # Camada de sockets de rede
│ └── cli/
│ ├── linusware_cli.cc # Enviador de payload CLI autônomo
│ └── wayland_clipboard.cc # Ponte de clipboard Wayland/X11
└── CMakeLists.txt # Configuração de build
cd linusware_src
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
Reconstruído e com engenharia reversa por 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.