我一直在尝试反编译一个LuaJIT字节码文件。我已经设法拆解了它(但找不到任何方法来重新组装它)。因此,我正在考虑编写一些软件来将LuaJIT字节码转换为标准的Lua字节码,然后可以很好地通过LuaDec运行。
但是LuaJIT字节码和标准Lua字节码有什么不同呢?
发布于 2011-12-24 21:34:10
差异是相当大的。LuaJIT比标准的Lua使用了更多的操作码,因为它专门处理一些操作,比如从函数返回与返回1个返回值的操作,等等。
你能做的最好的是比较Lua opcodes和LuaJIT opcodes的定义,看看你是否能在它们之间转换,但这不是微不足道的……
发布于 2011-12-24 14:51:48
要获得准确的答案,您只需比较两个项目的BC生成器,但是,为什么要费心使用转换器,LuaJIT是开放源代码的,IIRC也是如此,将其转换为LuaJIT的字节码应该非常简单。
然而,你应该看看command-line options of LuaJIT本身的用法,有一些用于转储字节码列表,或者转储字节码的C/h/obj/o文件,这两种方法都可以用来做你想做的事情。
https://stackoverflow.com/questions/8623052
复制相似问题