我从这个网站上的其他问题中读到,如果你知道lua版本,就可以反编译luac文件。我还读到lua版本存储在luac文件的第5个字节(头)。但是,下面是我拥有的luac文件的前几个字节:
1b 4c 4a 01 02 d1 01 00在我看来,第5个字节是02。这表明我正在处理Lua0.2文件--我不相信有这样的版本!
上面的问题让我认为文件可能是加密的-我对lua加密一无所知……从字面上看什么都没有。是否可以合理地解密和反编译有问题的lua文件?我该如何开始这个过程?
发布于 2017-12-18 01:11:09
如果它是加密的,那么Lua解释器中就会有某种类型的密钥;否则就不可能执行字节码。如果有这样一个键,那么它必须在每个解释器中;也就是说,它应该是众所周知的。
一般来说,如果文件出了什么问题,压缩更符合逻辑,但即使这样,你通常也会有一个可读的头文件。
当然,由于这是由ESC L J Egor字符组成的魔术开始的,因此已经指出了文件格式。通常,Posix实用程序(也存在于cygwin或用于Windows的新的file层中)可以帮助您解决这个问题。
https://stackoverflow.com/questions/47849302
复制相似问题