xLua项目加密

概述

xLua加密工具主要是一款Lua安全编译器,配置好xLua环境后,用几维提供的libluajit.a替换对应的默认文件,来实现对Lua文件的加密,加密后的Lua文件只能由几维提供的lua bytecode解释器解析,从而避免Lua文件被逆向分析,达到保护Lua核心代码的目的。

集成

1.获取xLua

从官方下载对应的xLua版本,下载地址为 https://github.com/Tencent/xLua , 默认是master分支

1)这个步骤是属于开发环节,请自行下载并部署好【xLua是开源项目,请自行检测环境变量、Lua和Luajit的版本,以便顺利编译通过】

2)Luajit-2.1.0-beta2以上版本支持64位,几维编译器版本的luajit加密方案基于Luajit-2.1.0-beta2

2.Android快速集成加密版静态库

1)执行build目录下的make_android_luajit.sh(根据自己的平台选择编译脚本),确保原始的编译成功

2)编译成功之后查看luajit源码目录下src/libluajit.a文件

3)用几维提供的libluajit.a进行替换,x86对应x86,armeabi-v7a对应armeabi-v7a

4)修改make_android_luajit.sh文件,编译armeabi-v7a版本的libxlua.so,如下图

1-1

5)同理修改编译出x86版本的libxlua.so

6)复制编译好的libxlua.so替换项目中原来的libxlua.so(替换之前最好先做好备份),推荐先使用源码测试,然后换成几维提供的luajit编译器编译出二进制bytecode文件进行测试

3.iOS快速集成加密版静态库

1)执行make_ios_luajit.sh将原始版本的libxlua.a编译出来

注意:xlua默认是armv7、armv7s、arm64三种架构,如果使用xcode版本过高,比如9.3.x以后的不再支持armv7 armv7s,那么生成的只会有arm64这种架构

2)同android一样注释掉生成libluajit.a的过程如图

2-1

注意:这里区别在于如果需要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所以支持真机)

results matching ""

    No results matching ""