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代码运行。

吼吼吼~

相关内容

    暂无相关文章