关于lua代码加密

502 views
Skip to first unread message

kfli...@gmail.com

unread,
Oct 19, 2017, 7:18:19 AM10/19/17
to openresty
Hello!

目前我们项目中应用了openresty,大量核心代码需要加密,如果用luac或者ljbc文件担心有被逆向的风险。
目前考虑了两种思路:
    1. 从ngx_lua模块入手,修改源码,在loadfile的地方做解密处理,单独写工具对lua源码文件做加密处理
   
    2. 从luajit入手,修改luajit编译的bytecode

    两种方法都属于侵入式的方法,需要修改组件代码,对后续更新维护带来不便
    有没有更好的思路,比如写一个nginx模块,做非侵入式的解密, 就像ngx_lua不修改nginx的源码一样提供功能

没有看过ngx_lua的底层实现,不知是否能做到, 也请春哥@agentzh 提供一些思路, 谢谢!

Zexuan Luo

unread,
Oct 19, 2017, 11:14:23 AM10/19/17
to open...@googlegroups.com
如果是非侵入式的方法,那我在 ngx_lua 或 luajit 的相关入口函数打下 gdb 断点,就能截获执行到的 Lua 代码了。感觉要是想可靠一点的话,可能需要把加密后的代码打入 C 文件,然后编译到 Nginx 里面去,不过这样势必要去修改 ngx_lua 的加载逻辑……

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty+subscribe@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+unsubscribe@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html

huang jindong

unread,
Nov 22, 2017, 5:31:32 AM11/22/17
to openresty
hello,

如果是直接在loadfile做解密动作,gdb也能截获Lua代码?


On Thursday, October 19, 2017 at 11:14:23 PM UTC+8, Zexuan Luo wrote:
如果是非侵入式的方法,那我在 ngx_lua 或 luajit 的相关入口函数打下 gdb 断点,就能截获执行到的 Lua 代码了。感觉要是想可靠一点的话,可能需要把加密后的代码打入 C 文件,然后编译到 Nginx 里面去,不过这样势必要去修改 ngx_lua 的加载逻辑……
在 2017年10月19日 下午7:18, <kfli...@gmail.com>写道:
Hello!

目前我们项目中应用了openresty,大量核心代码需要加密,如果用luac或者ljbc文件担心有被逆向的风险。
目前考虑了两种思路:
    1. 从ngx_lua模块入手,修改源码,在loadfile的地方做解密处理,单独写工具对lua源码文件做加密处理
   
    2. 从luajit入手,修改luajit编译的bytecode

    两种方法都属于侵入式的方法,需要修改组件代码,对后续更新维护带来不便
    有没有更好的思路,比如写一个nginx模块,做非侵入式的解密, 就像ngx_lua不修改nginx的源码一样提供功能

没有看过ngx_lua的底层实现,不知是否能做到, 也请春哥@agentzh 提供一些思路, 谢谢!

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com

huang jindong

unread,
Nov 23, 2017, 4:41:42 AM11/23/17
to openresty
做了一些功课,我想较好的方法就是对程序进行加壳,并且加入反调试限制,加壳这个可能需要到专业的公司进行付费了
Reply all
Reply to author
Forward
0 new messages