Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保护Ruby代码_Ruby_Security_Source Code Protection - Fatal编程技术网

保护Ruby代码

保护Ruby代码,ruby,security,source-code-protection,Ruby,Security,Source Code Protection,我正在使用Ruby在基于ARM的嵌入式主板上开发一个商业项目,上面有一个定制的Linux内核。项目和设备的目标工作区是一个封闭的环境,没有以太网、inernet、I/O设备等。。。我想保护我的代码/程序,以便:;它只能在我让的特定机器上工作(因此,人们不能只是将我的代码/程序复制粘贴到他们的嵌入式主板上,然后在没有许可的情况下运行)。这可能通过机器的MAC地址tho实现;我在这方面没有任何经验。我想,仅仅一个简单的if(device.MACAddr==“XX:XX…XX”)是不可取消的(更不用说

我正在使用Ruby在基于ARM的嵌入式主板上开发一个商业项目,上面有一个定制的Linux内核。项目和设备的目标工作区是一个封闭的环境,没有以太网、inernet、I/O设备等。。。我想保护我的代码/程序,以便:;它只能在我让的特定机器上工作(因此,人们不能只是将我的代码/程序复制粘贴到他们的嵌入式主板上,然后在没有许可的情况下运行)。这可能通过机器的MAC地址tho实现;我在这方面没有任何经验。我想,仅仅一个简单的if(device.MACAddr==“XX:XX…XX”)是不可取消的(更不用说人们可以很容易地从我的代码中删除支票)。我不能使用一些ruby模糊器,这是我通过谷歌找到的,因为;该设备不运行ruby-external-C-libraries之类的东西,只运行纯ruby代码


所以,;你有什么建议,我应该采取什么样的方法?

你不能真正保护它,保护本机代码已经够难了!即使这样,如果有人真的想复制软件,这也基本上是失败的


基本上几乎不做任何事情来确保它的安全,这主要是浪费时间和精力

这与DRM问题是同构的。你给了一个人一把锁和钥匙,试图阻止他以你不喜欢的方式使用钥匙


因此,我建议使用与其他DRM用户相同的方法:将您的条款放入许可证中,如果他们违反许可证,则起诉他们。无论如何,您需要使用法律来强制执行许可证的其他条款。

JRuby可以将代码编译为java.class文件