openresty 应用打包并使用luajit编译lua代码实现简单加密
2017-02-26 23:58
876 查看
前面写了很多篇介绍openresty开发的文章,你是否已经开发了一些小程序?
当开发完一些应用,是否想着怎么打包?
出于某种原因,不想公开一些核心的模块源码?
尝试使用luajit实现对lua代码加密处理
下面是代码
package.sh
首先创建一个输出文件夹,为了可重复,在创建之前先清空一下,然后把conf、html、lua、lualib目录代码拷贝到输出文件夹,接下来写一个函数用来编译相关文件夹的lua文件,因为某些目录不需要编译,所以把需要编译的目录当成参数传递给compile函数,并且覆盖原来的文件,反正都是在输出目录里面操作,不会影响源码
效果如下:
这是我加密后的微信模块,打包完之后会看到lua代码已经看不懂了,没法修改了,但是一些字符串还是可以看得出来的,jit不会影响lua代码运行。
吼吼吼~
当开发完一些应用,是否想着怎么打包?
出于某种原因,不想公开一些核心的模块源码?
针对上面两点,有以下两个办法
写个小脚本来打包尝试使用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代码运行。
吼吼吼~
相关文章推荐
- openresty 应用打包并使用luajit编译lua代码实现简单加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,实现加密 更新
- cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- cocos 使用Luajit将Lua脚本编译为bytecode,从而实现加密
- cocos2dx 使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,实现加密 更新
- Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
- Java使用异或运算实现简单的加密解密算法实例代码
- 使用php+Ajax实现唯一校验实现代码[简单应用]
- Cocos2d-x使用Luajit将Lua脚本编译成bytecode,启用加密
- Cocos2d-x使用Luajit将Lua脚本编译成bytecode,启用加密
- 通过编译luaSQL调用ODBC连接Access以及给OpenResty(LuaJIT)编写简单的C扩展示例