您的位置:首页 > 编程语言 > Lua

openresty 应用打包并使用luajit编译lua代码实现简单加密

2017-02-26 23:58 876 查看
前面写了很多篇介绍openresty开发的文章,你是否已经开发了一些小程序?

当开发完一些应用,是否想着怎么打包?

出于某种原因,不想公开一些核心的模块源码?

针对上面两点,有以下两个办法

写个小脚本来打包

尝试使用luajit实现对lua代码加密处理

下面是代码

package.sh

#!/usr/bin/env bash

rm -rf ./out
mkdir -p out/app/logs
cp -rf conf out/app
cp -rf html out/app
cp -rf lua out/app
cp -rf lualib out/app

luajit=/usr/local/openresty/luajit/bin/luajit

function compile() {
for file in $1
do
if test -f $file
then
$luajit -b $file $file
fi
done
}

compile "./out/app/lua/api/*"
compile "./out/app/lua/util/*"
compile "./out/app/lua/web/*"


首先创建一个输出文件夹,为了可重复,在创建之前先清空一下,然后把conf、html、lua、lualib目录代码拷贝到输出文件夹,接下来写一个函数用来编译相关文件夹的lua文件,因为某些目录不需要编译,所以把需要编译的目录当成参数传递给compile函数,并且覆盖原来的文件,反正都是在输出目录里面操作,不会影响源码

效果如下:



这是我加密后的微信模块,打包完之后会看到lua代码已经看不懂了,没法修改了,但是一些字符串还是可以看得出来的,jit不会影响lua代码运行。

吼吼吼~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx openresty lua