请问如何将已写好的nginx lua 阶段代码 编译成.so 供load_module 调用

110 views
Skip to first unread message

MadTk4s

unread,
Feb 25, 2020, 11:00:02 PM2/25/20
to openresty
hi 春哥:
    因项目原因, 需要把已经写好的lua 代码封装成一个动态库调用, 但我在google 或者 百度上没有找到一些相应的方法, 请问您能给我一些建议吗? 谢谢

DeJiang Zhu

unread,
Feb 26, 2020, 9:26:54 AM2/26/20
to open...@googlegroups.com
你是需要源码保密么?比较简单不过作用也比较有限的是,编译成字节码,比如 LuaJIT 的 ljbc

MadTk4s <fuyul...@gmail.com> 于2020年2月26日周三 下午12:00写道:
hi 春哥:
    因项目原因, 需要把已经写好的lua 代码封装成一个动态库调用, 但我在google 或者 百度上没有找到一些相应的方法, 请问您能给我一些建议吗? 谢谢

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@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
---
您收到此邮件是因为您订阅了Google网上论坛上的“openresty”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openresty+...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openresty/9b2543a1-7114-4db9-811e-bf749eeb1ce9%40googlegroups.com

MadTk4s

unread,
Feb 26, 2020, 8:51:33 PM2/26/20
to openresty
是的, 是需要源码保密, 我尝试用了一下您的方法, 也用过luac 的方法, 但都不是很有效.  所以如果按照源码保密的话 , 是否最简单的就是将核心功能用C封装再通过ffi调用?

在 2020年2月26日星期三 UTC+8下午10:26:54,doujiang写道:
你是需要源码保密么?比较简单不过作用也比较有限的是,编译成字节码,比如 LuaJIT 的 ljbc

MadTk4s <fuyul...@gmail.com> 于2020年2月26日周三 下午12:00写道:
hi 春哥:
    因项目原因, 需要把已经写好的lua 代码封装成一个动态库调用, 但我在google 或者 百度上没有找到一些相应的方法, 请问您能给我一些建议吗? 谢谢

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 open...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 open...@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
---
您收到此邮件是因为您订阅了Google网上论坛上的“openresty”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openresty+unsubscribe@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openresty/9b2543a1-7114-4db9-811e-bf749eeb1ce9%40googlegroups.com

DeJiang Zhu

unread,
Feb 26, 2020, 9:00:17 PM2/26/20
to open...@googlegroups.com
> 都不是很有效

这个具体是什么意思呢?是可以工作,但是保密性不够,还是不能工作呢?

> 是否最简单的就是将核心功能用C封装再通过ffi调用

这个路子是可以的
另外也可以考虑给 Lua 字节码加密,解密之后,再通过 loadstring 来加载
解密部分可以搞一个 c 的实现,也是通过 ffi 来调用

保密这个,总的感觉来说,是程度问题,反编译也只是时间和成本问题,看需要做到什么程度

MadTk4s <fuyul...@gmail.com> 于2020年2月27日周四 上午9:51写道:
是的, 是需要源码保密, 我尝试用了一下您的方法, 也用过luac 的方法, 但都不是很有效.  所以如果按照源码保密的话 , 是否最简单的就是将核心功能用C封装再通过ffi调用?

在 2020年2月26日星期三 UTC+8下午10:26:54,doujiang写道:
你是需要源码保密么?比较简单不过作用也比较有限的是,编译成字节码,比如 LuaJIT 的 ljbc

MadTk4s <fuyul...@gmail.com> 于2020年2月26日周三 下午12:00写道:
hi 春哥:
    因项目原因, 需要把已经写好的lua 代码封装成一个动态库调用, 但我在google 或者 百度上没有找到一些相应的方法, 请问您能给我一些建议吗? 谢谢

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 open...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 open...@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
---
您收到此邮件是因为您订阅了Google网上论坛上的“openresty”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openresty+...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openresty/9b2543a1-7114-4db9-811e-bf749eeb1ce9%40googlegroups.com

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@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
---
您收到此邮件是因为您订阅了Google网上论坛上的“openresty”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openresty+...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openresty/8c9bdad0-7e6f-4d0f-ac97-8bb6040ea410%40googlegroups.com
Reply all
Reply to author
Forward
0 new messages