2011-01-04 3 views
0

おはようございます!Python:スクリプトを安全にコンパイルするには?

私の最後の質問とは逆に、私は間違った方法を追求していたと思います。基本的には、私のソースコードを入手して、それ自体の使用を開始するために、共通のリーチャーを恐れることなく、Pythonスクリプトをコンパイルできる必要があります。今はPythonが保護されていないオープンソース言語だと知っていますが、方法が必要ですか?

たとえば、Py2Exeはソースコードをプレーンテキストファイルに残してコンパイルするように求めます。それはまさに私が欲しいものではありません。これの全理由は、自分のPCだけでなく、コンパイルも起こるということです。私のプロジェクトはPEの実行可能な形式にコンパイルされる予定であり、一般向けに使用されているため、ソースを開いて表示することはできません。

誰でも助けてくれますか?

+4

なぜオープンソースアプリケーションとしてリリースしないのですか? –

答えて

2

を試してみてください。あなたができることのいくつか:

  • .pycファイルを配布します。これは、リバースエンジニアリングに少しだけ労力を必要とします。
  • 難読化ツールを使用してください(これらはあまりありません。ファーストクラスとは何も見つかりませんでした)
  • 重要なセクションを書きます。)C言語でと
  • それらを呼び出すには、あなたが.pycファイルやpy2exeを配布する場合、ほとんどの人はおそらくあなたのコードを見てすることはありません

Webサービスとして重要なセクションを書きます。誰かがバイトコードのコードをエンジニアに逆戻りさせた場合、大きな問題は何ですか?彼らが十分に判断されれば、彼らは自分のアプリケーションを書くことができます。それを心配する必要はありませんし、ソースを保護するのに十分な場合は、アプリケーションを出荷します。

1

まあまあすぐに起こる可能性はあまりありません - Pythonは単にネイティブコードへのコンパイルには適さないインタープリタ言語です。しかし、あなたができることは、Cythonを使って、CythonのPythonのような構文を使ってPython拡張を作成し、これをネイティブコードにコンパイルし、拡張モジュールを使用する「無害な」アプリケーションにバンドルしますあなたのIPを入手することは困難です。

ネイティブのPythonからC++コンパイラのShedSkinも試してみることができますが、すぐに非常に限られたものになります。

まだ、実際にはそれが本当に価値があるかどうかを検討することができます。ほとんどの場合、それはそうではありません。

1

Nuitkaの著者に連絡して、判読不可能なコードの配布に役立つかどうかを確認することができます。

編集:リバースエンジニアリングに対して完全に何かを保護する方法はありませんGoogle cache ...

3

あなたはPython難読化ツールまたはスクランブルツールを検索できますが、とにかに知的財産を保護する解決策はありません。完全に新しいものを開発した場合は、特許を取得して制御してください。

一方、How do I protect python code?に続きます。

+0

はい、リンクされた質問、特に最も投票率が高い回答を読んでください:http://stackoverflow.com/questions/261638/how-do-i-protect-python-code/261727#261727 –