Lua Decompiler -

local function greet(name) print("Hello, " .. name) end for i = 1, 3 do greet("user") end

hexdump -C game.luac | head Lua 5.1 header: 1b 4c 75 61 51 Lua 5.4 header: 1b 4c 75 61 54 lua decompiler

Enter the —a specialized tool designed to reverse the compilation process, turning opaque binary chunks (Luac files) back into human-readable Lua source code. local function greet(name) print("Hello, "

java -jar unluac.jar hello.luac

lua recovered.lua If it crashes, the decompiler likely mis-nested an end or else . Compare the bytecode with ChunkSpy to fix manually. Compare the bytecode with ChunkSpy to fix manually

Introduction Lua is the silent workhorse of the gaming industry. From World of Warcraft addons to Roblox scripts and Angry Birds physics, Lua’s lightweight syntax powers millions of lines of embedded code. But what happens when you lose the source code? Or when you want to understand how a compiled script works?

luac -o hello.luac hello.lua (Lua 5.4)