私はいくつかのPerlプログラムを書いており、それらを配布する予定です。それらは大きなバイナリディストリビューションの一部です(主にコンパイルされたC/C++)。可能であれば、私はできるだけ諦めることを好む(私は巧妙なアルゴリズムを提供しないで、作業ソフトウェアを提供する責任がある)。誰かが本当にソースを見たいと思えば、単にエディタでファイルを開くよりも少し努力を払わなければならないように、Perlコードを隠すためのベストな賭けは何ですか?どのようにしてPerlコードを隠すことができますか?
2
A
答えて
4
コードを暗号化して実行時に解読し、perl
stdin
に送信できます。 (もちろん、デクリプタは暗号化されません)。
私はそれはそれは難しいだけでファイルを開くためにすることはありませんが、難読化ツールは、それがより困難あなたのコードを理解し、変更することができます私の質問How can I compile my Perl script so to reduce startup time?
2
3
3
フィルター::暗号化(潜在的にPAR経由::フィルター::暗号)(、多くのもののためによくYMMVを動作しませんperlccがなければ)明らかに、この仕事のための最も先進的なオープンソースのツールです。 。
あなたが欲しがっているのは、カジュアルな泥棒のコードを隠すことであれば、それはです。より十分です。意思決定者や有能な人から隠すことは事実上不可能です。
関連する問題
- 1. GTK3をperlでどのように使うことができますか?
- 2. どのように私のIPアドレスを隠すことができますか?
- 3. どのようにしてPerlでループの繰り返しを行うことができますか?
- 4. どのようにしてプロットしてデータギャップを隠すことができますか?
- 5. このコードをどのようにリファクタリングすることができますか?
- 6. オブジェクトがあれば、そのクラスをどのようにしてperlで知ることができますか?
- 7. どのようにして配列をPerlの関数に渡すことができますか?
- 8. Perl 6ルールはどのようにして別のルールに引数を渡すことができますか?
- 9. エラーメッセージを別のログファイルにどのように出力できますか? Perlのことができますで
- 10. このコードはどのようにリループすることができますか?
- 11. リアクタ・ルータ4 HashRouter、どのようにしてURLにハッシュを隠すことができますか?
- 12. どのようにしてperlモジュールが独自のパスを見つけることができますか?
- 13. このC++コードはどのようにしてメモリリークを起こすことができますか?
- 14. どのように私の手紙を隠す柔らかい終わりのように作ることができますか?私は私の手紙を隠しソフトエンドのように作ることができますどのように
- 15. このコードにどのようにしてキーを押すことができますか?
- 16. Perlで更新されたファイルをどのようにして読むことができますか?
- 17. どのようにしてPerlでキャッシュHTTPプロキシを書くことができますか?
- 18. Perlスクリプトはどのようにして独自のメモリフットプリントを知ることができますか?
- 19. 私は私のような何かを呼び出すことができますPerlプログラムしたいのですがどのようにperlの
- 20. このDEBUGコードをどのようにしてウィンドウオブジェクトに対応させることができますか?
- 21. どのようにポップアップし、WPFでウィンドウを隠すボタンを作ることができますか?
- 22. どのような代替案がPerlの正規表現パターンで一致するかをどのようにして知ることができますか?
- 23. Perlで文字列をどのように事前に割り当てることができますか?
- 24. オーバーフローはどのような影響を与えますか?このコードには隠しがありますか?
- 25. ここにどのファイルが必要かをどのようにして知ることができますか?
- 26. このJavaScriptコードをどのようにリファクタリングできますか?
- 27. このjQueryコードをどのようにリファクタリングできますか?
- 28. このコードをどのようにDRYできますか?
- 29. どのようにURLの中に含まれるハイスコア情報を隠すことができますか?
- 30. シェルのプロセス置換をPerlのsystem()でどのように使うことができますか?
おそらく、Perlコードを難読化するいくつかの正当な理由がありますが、あなたは何も提供していない可能性があります。非常に具体的な欠点の例を提供できない限り、あなたの「巧妙なアルゴリズム」をあきらめることは問題ではありません。あなたの流通を5年後に維持しなければならない貧しい人にとって唯一の欠点です。 – ivancho
ねえ、これは完全に有効です。 C/C++ソースに並んでいる難読化されていないバージョンのPerlコードがあります。これはオープンソースのプロジェクトではなく、私はPerlを選択するだけでオープンソースになるべきではないと感じています。 – ajwood
顧客にスクリプトのソースがオープンソースになっていないことを伝えます。あなたのすべてのプログラムの完全なソースコードでさえ、顧客はあなたの著作権を尊重しなければなりません。また、C/C++バイナリをほぼ使用可能なソースコードに変換するための十分に高度なデコンパイラが存在する場合、特定のユーザーはソースコードを効果的に使用できます。 –