【问题标题】:How to decrypt Lua bytecode?如何解密 Lua 字节码?
【发布时间】:2020-11-12 04:48:09
【问题描述】:

早上好,我正在尝试破译月球字节码的代码,但无论如何我都做不到,有人可以帮助我吗?

我有这个,例如:

code = '\27\76\117\97\81\0\1\4\4\4\8\0\'

我如何将此字节码解密为文本?

我已经在这里搜索了:http://www.asciitable.com/ 但是找到结果,因为有些表中不存在

请帮帮我...

我试了好几天,一无所获

【问题讨论】:

标签: lua bytecode


【解决方案1】:

这似乎是 Lua 5.1 的字节码。它没有进行加密加密,并且可以使用luac -l -p 轻松读取(不是源代码形式,而是 VM 指令,这可能足以重建源代码)。如果你想重构源码,试试LuaDec for Lua 5.1

【讨论】:

    【解决方案2】:
    有这个,例如:
    code = '\27\76\117\97\81\0\1\4\4\4\8\0\'
    我如何将此字节码解密为文本?

    上面的序列是 Lua 字节码的样子,如果第一个字符 '\27' 告诉 lua 文件是字节码还是文本。序列是 \27 后跟 Lua '\76\117\97' 后跟 \81,这表明这是 Lua 5.1 字节码等,详情请查看此链接http://howto.oz-apps.com/2012/04/delve-deeper-into-lua-and-compilation.html

    可以在http://chunkspy.luaforge.net/ 找到一个非常好的资源,以及来自 Kein Hong Man 的精彩详细 PDF

    【讨论】:

      【解决方案3】:

      正如其他人所说,您可以使用LuaDec for Lua 5.1 但是对于像这样的字节码,我会做的是使用这个number extractor,只获取所有数字,然后使用这个numbers to utf8 converter 并将它们粘贴在那里。一开始可能看起来像随机单词,但您需要将它们对齐在 1 行中,但每次返回一行时都要留出一个空格,就像这样。

      27 76 117 97 81 0 1 4 4 4 8 0
      

      并且像这样。

      27
      76
      117
      97
      81
      

      等,你应该得到答案,但这可能不适用于不同的字节码,但这几乎只是手动方式,最好使用LuaDec for Lua 5.1,但是如果你仍然想尝试这个,你不会获取确切的源字符串,如果你做得很好,那将是非常糟糕的加密。

      【讨论】:

        【解决方案4】:

        您无法将字节码转换为文本。它不是文本,而是 Lua 解释器的指令。

        【讨论】:

        • 这个答案基本上不允许反汇编器和反编译器存在。可能不会生成确切的来源,但这个答案太笼统了。十六进制甚至是文本...
        猜你喜欢
        • 1970-01-01
        • 2023-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-28
        • 1970-01-01
        • 2020-07-08
        • 2013-07-28
        相关资源
        最近更新 更多