2

PHPからRuby(Ruby on Rails)への移行を検討しています。私が抱えている大きな懸念の 1 つは、プロジェクトの暗号化についてです。

現在、PHP では、Source Guardian を使用してプロジェクトをクライアントに渡す前に暗号化しています。

ただし、Ruby の場合、私が見つけた唯一のオプションは ruby​​encoder.com (PHP ソースの Guardian と同じ会社) です。誰かがこのソフトウェアを試して、直接経験したことがありますか?

他のソフトはありますか?

Ruby でプロジェクトを暗号化するネイティブな方法はありますか?

4

2 に答える 2

2

これは実際にはコードを保護していないことを知っておく必要があります。ある時点で、コードを Ruby の VM で実行する必要があります (1.9.x を使用していると仮定しましょう)。VM 自体は、変更されない限り、暗号化されていない形式の命令しか理解できません。

つまり、暗号化されたコードを実行する前に、元の形式に戻す必要があります。そして、あなたのソースコードを読みたがっている誰かが、Ruby プロセスをデバッグし、その復号化が行われるのを待つことで、そうすることができます.

これから得られるバイトコード命令だけでも、バイトコード解釈からかなり読みやすいソースコードを再構築することが可能です。ここでは Java の例を示しますが、Ruby でも同様のことが可能です。

コードの難読化は、あなたが求めているものよりも優れているかもしれませんが、Ruby コードにとっては非常に危険なオプションでもあります。洗練されたメタ プログラミング機能が壊れる可能性があります。

私は DRM 対策にあまり関心がなかったので、ここではかなり意見が分かれているのかもしれませんが、そのような機能が必要になると本当に、本当に確信していますか?

于 2012-06-04T14:49:32.017 に答える
1

Rubiniusを使用してコードを実行できる場合(JVMで実行されるためJRubyにも同様のソリューションが存在する可能性があります)、これに対処する簡単な方法があります。Rubiniusを使用すると、ソースコードをバイトコードにコンパイルし、クライアントへのバイナリコード。そのコードは、ソースコードを提供せずにターゲットシステムで実行できます。詳細な手順と注意事項については、rubiniusホームページの次のブログ投稿を参照してください:http://rubini.us/2011/03/17/running-ruby-with-no-ruby/

于 2012-06-11T12:21:48.680 に答える