【发布时间】:2010-01-19 05:55:35
【问题描述】:
是否有任何应用程序可以让我对我的 Ruby on Rails 代码进行编码,以便其他人无法阅读它?我打算卖几个小应用程序,但我真的不希望每个人都知道我的代码。
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby encoding
是否有任何应用程序可以让我对我的 Ruby on Rails 代码进行编码,以便其他人无法阅读它?我打算卖几个小应用程序,但我真的不希望每个人都知道我的代码。
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby encoding
我在野外看到的唯一示例是来自 ThoughtWorks 的 Mingle,它在 JRuby 上运行,我认为他们必须以某种方式对其进行修改才能运行加密代码。
http://www.thoughtworks-studios.com/mingle-agile-project-management
我认为他们可能使用了类似 AOT 编译器的东西: http://kenai.com/projects/jruby/pages/RailsAOT
这看起来也很有希望: http://www.infoq.com/news/2008/10/rubyencoder
查看此答案以了解其他想法。 Can you Distribute a Ruby on Rails Application without Source?
【讨论】:
如果您希望人们能够运行您的代码(如果您不这样做,那么您为什么首先编写它?),那么他们的 CPU 需要能够执行您的代码。为了能够执行代码,CPU 需要能够理解它。
由于 CPU 是愚蠢的,而人类不是,这意味着人类也可以理解代码。
通过技术手段保护代码的唯一方法是,如果您“拥有”整个执行路径:您需要构建自己的 CPU、自己的计算机、编写自己的操作系统和自己的 Ruby 解释器。然后,只有这样你才能保护你的代码。 (但请注意,即使是最细微的错误也会使您的所有保护措施失效。微软、苹果、索尼、音乐行业和电影行业都可以证明这一点。)
或者,您可以什么都不做,这意味着您的代码将自动受到版权法的保护。
【讨论】:
感谢您的所有回答!目前我正在研究 jRuby 和 Ruby 编码器选项,但如果我发现两者都不是我想要的,那么我认为我应该只是出售代码并更专注于获取客户。将所有这些时间和金钱花在无论如何都可以轻松破解的加密上确实没有任何意义。
【讨论】:
也许您可以自己托管应用程序。
这样,任何人都无法访问您的代码,而您的客户将通过 Internet 在任何地方使用该应用程序,并且还会为您支付支持费用。
为了以最简单的方式托管 rails 应用程序,您可以尝试 http://heroku.com/ 甚至使用 apache 和 mod_passenger 设置一个小型 VPS。
【讨论】:
不,没有办法让可执行代码无法读取。难以阅读是的,不可能阅读是……不可能。你能做的最好的就是混淆,网络上有很多例子(但我不知道有任何图书馆可以为你做这件事)。
【讨论】: