Developer knowledge network · moderated exchange

Społeczność UnreliableCode

Badania programistów, inżynieria wsteczna i społeczność programistów

Knowledge indexNa żywo
4Categories
919Threads
2.8KPosty
Analysis

Roblox Luau Proto bytecode structure & constant table layout

luau_hacker
Luau Expert
MEMBER
Rozpustnik: 159
Data dołączenia: Aug 2020
Posty: 17
Dzięki: 26
1 miesięcy temu · Jul 2, 2026 9:59 AM
#1

Deep dive into Luau's Proto binary data structure:

CPP
struct LuauProto {
    uint8_t  maxstacksize;
    uint8_t  numparams;
    uint8_t  nups;
    uint8_t  is_vararg;
    int      sizecode;
    uint32_t* code;        // Array of 32-bit Luau instructions
    int      sizek;
    TValue*  k;           // Constant table (Strings, Numbers, Booleans)
    int      sizep;
    LuauProto** p;        // Sub-prototypes (nested functions/closures)
};

Traversing the Proto tree allows complete static disassembly of any loaded game script in memory!

luau_reverser
Bytecode Analyst
MEMBER
Rozpustnik: 115
Data dołączenia: Jul 2019
Posty: 10
Dzięki: 45
1 miesięcy temu · Jul 2, 2026 4:04 PM
#2

Constant table TValue array contains all function names and string literals in plaintext. Essential for Luau decompilers.

vtable_slayer
Senior Reverser
MEMBER
Rozpustnik: 215
Data dołączenia: Mar 2018
Posty: 86
Dzięki: 61
1 miesięcy temu · Jul 2, 2026 10:29 PM
#3

Very clean struct definition. Matches Luau open source repository.