Questions about Luau bytecode

Hello! In the past few weeks I’ve become obsessed with the internals of VMs and what they do to work. Since it’s not very clear to me, I think this is a valid place to put my questions:

  1. Is the source of the Luau compiler open source?
  2. If so, how can I compile some source code to get vanilla Luau bytecode?
  3. This one’s mainly related to VM obfuscation: I see VM obfuscators have these long strings (of what I think is encrypted bytecode that it interprets), either made out of hexadecimal or strings that look like this, “\103\132\47\108”, and I think this is just some ASCII code that strings can change into plain text. Am I correct about this, or am I missing something?
  4. How would I decompile Luau bytecode back into source code?
  5. I’ve heard of the word “opcodes” and I know that it means an operation code, where the CPU can perform a certain operation. Is there a documentation/reference for Luau opcodes, or is it the same as vanilla Lua 5.1.4? I’ve heard Luau does optimizations when compiling to bytecode, I’m just confused here.

If this didn’t make any sense, or these questions are just bad, that’s fine. I’m not very good at writing organized posts. Thanks!

3 Likes