概述html
xLua加密工具主要是一款Lua安全编译器,配置好xLua环境后,用几维提供的libluajit.a替换对应的默认文件,来实现对Lua文件的加密,加密后的Lua文件只能由几维提供的lua bytecode解释器解析,从而避免Lua文件被逆向分析,达到保护Lua核心代码的目的。android
集成ios
一、获取xLuaxcode
从官方下载对应的xLua版本, 默认是master分支安全
1)这个步骤是属于开发环节,请自行下载并部署好【xLua是开源项目,请自行检测环境变量、Lua和Luajit的版本,以便顺利编译经过】架构
2)Luajit-2.1.0-beta2以上版本支持64位,几维编译器版本的luajit加密方案基于Luajit-2.1.0-beta2工具
二、Android快速集成加密版静态库测试
1)执行build目录下的make_android_luajit.sh(根据本身的平台选择编译脚本),确保原始的编译成功ui
2)编译成功以后查看luajit源码目录下src/libluajit.a文件加密
3)用几维提供的libluajit.a进行替换,x86对应x86,armeabi-v7a对应armeabi-v7a
4)修改make_android_luajit.sh文件,编译armeabi-v7a版本的libxlua.so,以下图
5)同理修改编译出x86版本的libxlua.so
6)复制编译好的libxlua.so替换项目中原来的libxlua.so(替换以前最好先作好备份),推荐先使用源码测试,而后换成几维提供的luajit编译器编译出二进制bytecode文件进行测试
三、iOS快速集成加密版静态库
1)执行make_ios_luajit.sh将原始版本的libxlua.a编译出来
注意:xlua默认是armv七、armv7s、arm64三种架构,若是使用xcode版本太高,好比9.3.x之后的再也不支持armv7 armv7s,那么生成的只会有arm64这种架构
2)同android同样注释掉生成libluajit.a的过程如图
注意:这里区别在于若是须要arm64架构那么须要使用lipo -create arm64/libluajit.a -output libluajit.a,须要armv7和arm64使用lipo -create arm64/libluajit.a armv7/libluajit.a -output libluajit.a
3)再次执行make_ios_luajit.sh生成libxlua.a
4)替换项目中原来的libxlua.a编译对应平台的bytecode文件,32位对应32位,64位对应64位的,生成项目,使用xcode编译测试(几维luajit安全解释器支持armv7,armv7s,arm64因此支持真机)
友情告知地址,lua脚本加密:https://www.kiwisec.com/produ...