1

我从本网站上的其他问题中了解到,如果您知道 lua 版本,可以反编译 luac 文件。我还读到 lua 版本存储在 luac 文件(标题)的第 5 个字节中。但是,这是我拥有的 luac 文件的前几个字节:

1b 4c 4a 01 02 d1 01 00

在我看来,第 5 个字节是 02。这表明我正在处理一个 lua 0.2 文件——我不相信有这样的版本!

上面的问题让我觉得文件可能被加密了——我对 lua 加密一无所知……实际上一无所知。是否可以合理地解密和反编译有问题的 lua 文件?我该如何开始这个过程?

4

1 回答 1

0

如果它会被加密,那么 Lua 解释器中就会有某种密钥;否则将无法执行字节码。如果有这样的钥匙,它就必须在每个解释器中;即这将是众所周知的。

通常,如果文件发生任何事情,则压缩更合乎逻辑,但即便如此,您通常也会有一个可读的标题。

当然,因为这开始于一个由字符组成的魔法 ESC LJ Egor 已经指出了文件格式。通常 Posixfile实用程序(也存在于 cygwin 或 Windows 的新 Linux 层中)会在这里为您提供帮助。

于 2017-12-17T17:11:09.103 回答