找回密码
 立即注册
查看: 706|回复: 0

Windows使用LuaJIT编译lua文件(32位和64位)

[复制链接]
发表于 2021-4-19 17:50 | 显示全部楼层 |阅读模式
目前Unity游戏开发,lua热更仍然是主流,在使用时lua可以当成资源文件打成AssetBundle,但是lua文件本身是明文的,很容易被人拿到源码,所以就需要使用到lua加密,接下来要记录的就是使用LuaJIT加密lua的过程#Luajit- ####介绍lua虚拟机能够直接解析lua和luac脚本文件,而luaJIT是另一个lua的实现版本,JIT是指Just-In-Time(即时解析运行),luaJIT相比lua和luac更加高效- ####下载下载链接:https://luajit.org/download.html

image.png

我这里下载的是 LuaJIT-2.1.0-beta3,下载.zip就行(记得解压出来)- ####编译######1.编译64位版本1.打开VS命令行工具,运行x64 Native Tools Command Prompt for VS 20192.定位到LuaJIT-2.1.0-beta3/src目录3.执行:msvcbuild.bat gc64

image.png


image.png

######2.编译32位版本1.打开VS命令行工具,运行x86 Native Tools Command Prompt for VS 20192.定位到LuaJIT-2.1.0-beta3/src目录3.执行:msvcbuild.bat static

image.png


image.png

等待编译完毕出现=== Successfully built LuaJIT for xxxxx ===,即可在/src目录中生成luajit.exe 对应版本在/src目录下可以找到luajit.exe和lua51.dll,以及文件夹jit,这三个是我们会使用到的- ####运行新建一个文件夹(E:\LuaJIT\)把刚才生成的文件复制进去,可以再建两个文件夹分别放64位和32位的版本然后打开cmd命令行工具,定位到luajit.exe的文件夹执行:luajit.exe -b input.lua output.lua(分别传入输入和输出lua文件,output要以.lua结尾)- ####注意32位的Luajit.exe 会将lua代码转换成32byte机器使用的 32位bytes文件,64位的同理,因为游戏开发时有不同平台,需要分别使用对应的exe编译对应的bytecode,否则会读取出错(Android 32位,iOS有32位和64位)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-26 00:44 , Processed in 0.088608 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表