如何反编译此 Lua 字节码?



所以我有一些Lua字节码,现在我想把它重新编译成人类可读的代码:

2776117978114848224565642864130128246112114105110116497210532116104101114101

我将如何实现这一目标?我尝试使用 LuaDec,但出现以下错误:

预编译块中的错误标头

如果有人能帮助我,那就太好了。

步骤 1
将字节码写入文件

local str = '2776117978114848224565642864130128246112114105110116497210532116104101114101'
local file = io.open("bytecode.lua", "wb")
file:write(str)
file:close()

步骤 2
安装 Lua 5.1(有关详细信息,请参阅 lua.org(

步骤3
运行luac查看字节码内容

$ ~/lua-5.1.5/src/luac -l -l -p bytecode.lua
main <?:0,0> (4 instructions, 16 bytes at 0x19fd550)
0+ params, 2 slots, 0 upvalues, 0 locals, 2 constants, 0 functions
1   [-] GETGLOBAL   0 -1    ; print
2   [-] LOADK       1 -2    ; "Hi there"
3   [-] CALL        0 2 1
4   [-] RETURN      0 1
constants (2) for 0x19fd550:
1   "print"
2   "Hi there"
locals (0) for 0x19fd550:
upvalues (0) for 0x19fd550:

步骤 4
手动将字节码指令转换为 Lua 源文本 :-(

print("Hi there")

反编译完成。

相关内容

  • 没有找到相关文章

最新更新