openresty 应用打包并使用luajit编译lua代码实现简单加密,openrestyluajit
openresty 应用打包并使用luajit编译lua代码实现简单加密,openrestyluajit
前面写了很多篇介绍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代码运行。
吼吼吼~
评论暂时关闭