Skip to content
This repository has been archived by the owner on Mar 28, 2022. It is now read-only.
/ LuauDissasembler Public archive

A simple and efficient way of disassembling luau bytecode.

License

Notifications You must be signed in to change notification settings

NotDSF/LuauDissasembler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Luau Dissasembler

This is an effient luau dissasembler made in Lua 5.1. (THIS IS NOT FINISHED)

preview

Usage

lua main.lua [luauc file]

Roblox Bytecode

Due to obvious reasons disassembling Roblox bytecode will not have opcode information or register deduction, however this can be easily fixed by remapping the opcodes in op.lua, but this is not needed to disassemble Roblox bytecode.

An example of this is:

Proto[0]
> #Stack: 2
> #Params: 0
> #Name: "undefined"

Constants[2]
> [0] (string) "print"
> [1] (function) "function: 00966F60"
> [2] (string) "Hello World!"

Instructions[5]
> [0->163] 163 { 0, 0, 0 }
> [1->65700] 164 { 0, 1, 0 }
> [2->1073741824] LOP_NOP { 0, 0, 64 }
> [3->131439] 111 { 1, 2, 0 }
> [4->16908447] 159 { 0, 2, 1 }
> [5->65666] 130 { 0, 1, 0 }

as you can see, all opcode names are missing except NOP.

How to compile luau files

You need https://github.com/Roblox/luau installed

luau --compile=binary [file] > compiled.out

About

A simple and efficient way of disassembling luau bytecode.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages