前言
luaJIT是 lua 脚本的即时编译器 ,其官网是: http://luajit.org/
环境准备
- Vistual Studio 2019 或其它版本
-
github 各版本下载地址: https://github.com/LuaJIT/LuaJIT/releases
-
将源码解压到需要的目录
-
运行 Command Prompt 命令提示符 ,根据需要的位数选择不同命令提示符. 64位选 x64
-
cd 到 luajit/src 目录 , 先直接 cd d:\xxx ,再键入 d: 以切换目录
-
键入msvcbuild 进行编译,会生成exe 和 dll 等文件
a. 如果你的加密文件是64位的,那么你的luajit也需要编译成64位的,要不然会报字节码不兼容错误。
b. msvcbuild.bat 编译32位 msvcbuild.bat gc64编译64位,编译64位后面一定要跟gc64,一开始我以为只要用x64的工具编译的一定就是x64,后面发现编译的luajit.exe也确实是64位,但是就是不能反编译成功,后来加上gc64编译就好了,具体原因我也没整明白。(此段摘于:luajit反编译)
显示 === Successfully built LuaJIT for Windows/x86 === 就是编译的32位
显示 === Successfully built LuaJIT for Windows/x64 === 就是编译的64位 -
拷贝 luajit.exe 和 lua51.dll 到 D:\Program Files (x86)\LuaJIT-2.0.5\release (可以是任意目录)
-
在 \release 目录新建 lua目录,将 luajit/src/jit 目录完整拷贝到 \releaselua 目录
-
设置环境变量即可使用 luajit
常用命令
documents : http://luajit.org/running.html
- luajit -b xxx.lua xxx.bytecode 编译lua脚本为字节码
- luajit -bl xxx.lua.bytecode xxx.asm 反编译lua字节码为asm