lumegalumega
安装 NeOmega
编写Lua插件:快速开始
编写Lua插件:调试代码
  • coromega

    • 配置读取
    • 菜单
    • 命令
    • 机器人和服务器信息
    • 玩家交互
    • botAction
    • 方块、命令块
    • 建筑操作
    • 方块转换和 nbt
    • 数据包
    • 跨插件通信
    • 系统功能
    • 路径、存储
    • cqhttp
    • HTTP
    • Websocket
    • 密码、哈希和 Base64 编码
    • 其他
    • 在分发时保护你的代码
    • 软API
GitHub
安装 NeOmega
编写Lua插件:快速开始
编写Lua插件:调试代码
  • coromega

    • 配置读取
    • 菜单
    • 命令
    • 机器人和服务器信息
    • 玩家交互
    • botAction
    • 方块、命令块
    • 建筑操作
    • 方块转换和 nbt
    • 数据包
    • 跨插件通信
    • 系统功能
    • 路径、存储
    • cqhttp
    • HTTP
    • Websocket
    • 密码、哈希和 Base64 编码
    • 其他
    • 在分发时保护你的代码
    • 软API
GitHub
  • 编写Lua插件:接口列表

    • 配置读取
    • 菜单
    • 命令
    • 机器人和服务器信息
    • 玩家交互
    • botAction
    • 方块、命令块
    • 建筑操作
    • 方块转换和 nbt
    • 数据包
    • 跨插件通信
    • 系统功能
    • 路径、存储
    • cqhttp
    • HTTP
    • Websocket
    • 密码、哈希和 Base64 编码
    • 其他
    • 在分发时保护你的代码
    • 软API

在分发时保护你的代码

我们倡导开源免费

但是,如果一些用户希望分发自己的代码而不被看到内容/修改

以及希望限制插件应用的范围,我们同样提供相关的支持

两个保护方向

保护代码内容

防止被解密,读取,修改,抄袭

我们提供了 Lua 插件加密 的帮助插件来加密 lua 插件代码

请先检查 Lua 插件加密 是否打开

接着使用该功能 (默认命令为 enclua ) 并选择要被加密的 lua 代码

该功能随后将扫描 data 文件夹下的 所有可用的公钥文件 并使用加密此 lua 代码

加密后的 lua 代码使用方式和原 lua 代码完全相同,但只在安装了 上述公钥文件对应的私钥文件 的设备上才能正常使用

!!! ⚠️ 风险警告 ⚠️ !!! 任何 持有 上述公钥文件对应的私钥文件 的人都可以解密并读取您的代码

您必须 谨慎的确认 data 文件夹下的 所有可用的公钥文件 中 任一公钥文件 对应的 私钥文件 持有者 负责任的使用 其持有的 私钥文件

包括但不限于:不慎向其他人透露私钥文件 使用私钥文件窃取您的代码

例子:合理的运用方式

您的 data 文件夹下存在两个公钥文件:您的自用公钥 和 云裳的公钥

您小心的保管 您的私钥 不向任何人透露它,但是可以随意的把您的 公钥 给其他人

云裳的私钥在 240 手上,同时在 240 编写的云裳后台中,用户启动云裳面板的时候 私钥 被注入到面板程序的同时文件也被销毁以避免用户获得此密钥

你 相信 240 不会不负责任的使用云裳的私钥 并相信编写的程序确实没有问题,私钥在被注入的同时文件已经被销毁所以用户无法获得此私钥

接着,你把此加密插件给了某一云裳用户,此用户因为没有云裳的私钥所以无法解密你的插件或去剽窃其中的内容,但是他却可以在云裳的面板上使用此插件

因为私钥被注入到Omega当中并销毁其余副本,但 omega 不会向用户透露私钥

例子:一般使用场景

首先,你肯定是不希望别人看到你的代码,或者修改你的代码。

你希望的是别人在没法看到你写的代码的同时可以执行你的代码

我们接着 例子:合理的运用方式 讲

现在有一个云裳的用户,他不知道云裳的私钥,也不知道云裳的公钥

不过这不是问题,因为你有云裳的公钥

你把云裳的公钥放到 data 文件夹下并加密

随后把这个文件给那个云裳的用户

那用户可以像使用普通 lua 文件一样在云裳的面板上执行你给他的加密 lua 代码

但是他并不能在其他非云裳面板上执行或使用此代码,也不能在任何地方看到你的真实代码或修改你的代码

至于其他用户?

他们无法在任何地方执行你的代码、看到你的真实代码或修改你的代码

例子:危险的运用方式

您的 data 文件夹下存在两个公钥文件:您的自用公钥 、 云裳的公钥 、小黑的公钥 、泯灭帮的公钥 (假设泯灭帮也在卖面板)

以下任意事件发生都可能导致您的代码被剽窃

小黑没有保管好他的私钥泄漏了,或者他就不是好人,使用他自己的私钥解密了你的插件然后直接剽窃

泯灭帮的程序存在问题,导致其用户在使用他的面板时发现了被他们 不慎泄漏 的私钥

或者他们就不是好人,使用他们的私钥解密了你的插件然后直接剽窃

加密方式

解释加密方式可以帮助有相关知识的人更好的理解其安全性

首先,一个对称密钥被生成,然后使用此对称密钥加密了插件代码 (AES 算法) (加密文件的第二行)

此时,保护的目标变成此对称密钥

对于每个 rsa 公钥,我们使用该 rsa 公钥加密此对称密钥,并记录在第 3、4、5 ... 行

限制插件可运行的地方

防止插件被倒卖和在未授权的服务器上运行或被未授权的用户使用

我们提供了一个 API,可以获得:

  • 用户 Token 的 MD5
  • 服务器号 MD5
coromega:print(coromega:user_info())

之所以使用 md5 是为了保护用户的真实信息被部分动机不良的插件恶意窃取或利用

在 GitHub 上编辑此页
最近更新:
贡献者: RainyHallways
Prev
其他
Next
软API