2010-12-06 18 views
2

私はいくつかのPerlプログラムを書いており、それらを配布する予定です。それらは大きなバイナリディストリビューションの一部です(主にコンパイルされたC/C++)。可能であれば、私はできるだけ諦めることを好む(私は巧妙なアルゴリズムを提供しないで、作業ソフトウェアを提供する責任がある)。誰かが本当にソースを見たいと思えば、単にエディタでファイルを開くよりも少し努力を払わなければならないように、Perlコードを隠すためのベストな賭けは何ですか?どのようにしてPerlコードを隠すことができますか?

+0

おそらく、Perlコードを難読化するいくつかの正当な理由がありますが、あなたは何も提供していない可能性があります。非常に具体的な欠点の例を提供できない限り、あなたの「巧妙なアルゴリズム」をあきらめることは問題ではありません。あなたの流通を5年後に維持しなければならない貧しい人にとって唯一の欠点です。 – ivancho

+1

ねえ、これは完全に有効です。 C/C++ソースに並んでいる難読化されていないバージョンのPerlコードがあります。これはオープンソースのプロジェクトではなく、私はPerlを選択するだけでオープンソースになるべきではないと感じています。 – ajwood

+0

顧客にスクリプトのソースがオープンソースになっていないことを伝えます。あなたのすべてのプログラムの完全なソースコードでさえ、顧客はあなたの著作権を尊重しなければなりません。また、C/C++バイナリをほぼ使用可能なソースコードに変換するための十分に高度なデコンパイラが存在する場合、特定のユーザーはソースコードを効果的に使用できます。 –

答えて

4

コードを暗号化して実行時に解読し、perlstdinに送信できます。 (もちろん、デクリプタは暗号化されません)。

私はそれはそれは難しいだけでファイルを開くためにすることはありませんが、難読化ツールは、それがより困難あなたのコードを理解し、変更することができます私の質問How can I compile my Perl script so to reduce startup time?

2

にいくつかの縮小化/コンパイルの回答を得ました。最初にhereまたはhereを見てください。

+7

perl obfuscatorは、一部の人がperlを書く方法に基づく冗長性のようです。 –

+0

@Paul私も同じことを示そうとしていましたが、私は本当にperlファンの怒りを望んでいません:) – terminus

+1

@Paul - あなたは意図的に彼のコードを維持することができないことを示唆していますか? – DVK

3
+0

私は別のフォーラムで "Acme :: Bleachの唯一の問題はスクリプトが突然移植性がない"ことです。 – ajwood

3

フィルター::暗号化(潜在的にPAR経由::フィルター::暗号)(、多くのもののためによくYMMVを動作しませんperlccがなければ)明らかに、この仕事のための最も先進的なオープンソースのツールです。 。

あなたが欲しがっているのは、カジュアルな泥棒のコードを隠すことであれば、それはです。より十分です。意思決定者や有能な人から隠すことは事実上不可能です。

関連する問題