Working on a Luau Bytecode Decompiler (CURRENT PROGRESS)

hi hello im xspy; xspy_lol#0 on discørd

so i own my own executor which i own because its my own product that i own (BOIIIIIIIIIII) and i tried to make a bytcod decompiler with my lovely friend, tho its pure buns;

i dont know why it says r0 = nil r0 = r0 * r0 and all that but i guess we’re gonna let it do what it wants (:sob:)

i want to know if the issue is that;

  1. i fed my decompiler an invalid proto
  2. i fed my decompiler an ENCRYPTED proto
  3. im genuinely stupid and i need to start over (NOOO)

this is how i get my proto by the way (i execute the bytecode that i get and i get it’s closure and from it’s closure i get l.p, which is lua.proto):

((Closure*)lua_topointer(ls, -1))->l.p;

here’s Closure’s structure (if really needed):

typedef struct Closure
{
    CommonHeader;

    uint8_t isC;
    uint8_t nupvalues;
    uint8_t stacksize;
    uint8_t preload;

    GCObject* gclist;
    struct LuaTable* env;

    union
    {
        struct
        {
            cfenc<lua_CFunction> f;
            ccenc<lua_Continuation> cont;
            cdnenc<const char*> debugname;
            TValue upvals[1];
        } c;

        struct
        {
            cfenc<struct Proto*> p; // i used closure->c.f enc (we all know that they are the same)
            TValue uprefs[1];
        } l;
    };
} Closure;

i would appreciate any form of support or guidance!!

you can contact me or my dev in discord;
xspy_lol#0 (me)
draydemises#0 (my dev)

gud bey!!

ok nvm i think i dont deserialize protos correctly :skull: