如何使用 C# 检测 Lua 字节码中字符串的开头位置? 我想列出 Lua 字节码文件中的所有字符串。
您需要解析该文件。没有特殊的标记。请参阅lundump.c中的源代码。
在 LUA 网站上找不到对相同声明的引用,但这是我在其他地方找到的引用:
没有官方 Lua虚拟机指令集规范,不需要一个;唯一的 官方规范是Lua语言的
本文档确实尝试分解指令集并提供逆向工程的伪规范:
在那篇文档中,它说字符串是附加到每个函数的常量(全局变量除外,它们位于表中)。
据我所知,文字字符串以与源代码相同的格式存储在字节码中,即“sometexthere”。不过,我建议你只编译一个 Lua 文件,只包含一个返回字符串的函数,然后看看它在字节码中是什么样子。