pythonコードを難読化するのに役立つツールを知っていますか?
あなたの問題空間は十分に指定されていません。これはコマンドラインアプリ用ですか?このコードはライブラリとして使用されるはずですか?
他の2つの答えに加えて、コードをバイナリに埋め込むことができます。起動したら、コードをデコードして文字列を評価します。これは、共有ライブラリ拡張でも機能します。バイトコードでも同じことができると思いますが、Py_EvalCodeを呼び出すほど簡単ではありません。
py2exeまたは凍結は、コードを実行可能ファイルに変換する他のソリューションです。バイナリにコードが含まれているだけであり、深刻な難読化は行われませんが、.pyファイルを開くよりも困難です。
Pythonに似たコードをCythonで記述し、.soとして使用するためにCでPython拡張ファイルを記述します。これはおそらく最も難しいでしょう。これらのうち、リバースエンジニアリングを行い、開発用の高級言語を提供します。
すべてのソリューションと同様に、それらはすべてハッキング可能です。あなたはそれがどれほど難しいことを望みますか?
基本的にPythonをC++に変換し、静的にリンクされたバイナリファイルを作成する、非常に素晴らしいプロジェクトを実際に見つけました。
これをチェックしてください: http://www.nuitka.net/
多くの状況で、.pyソースファイルの代わりにバイトコンパイルされた.pycファイルを出荷できます。これにより、ある程度の難読化が行われます。 pyobfuscate READMEが示唆するように、これには制限があります。しかし、2つのアプローチを組み合わせることができる場合があります。
Pythonの標準ライブラリには compileall.py が含まれています。これをディレクトリで実行すると、すべてのソースファイルの.pycファイルが生成されます。 .pycファイルにはバイトコードとドキュメント文字列のみが含まれ、すべてのコメントが削除されます。次に、このディレクトリをコピーし、rm -rf $(find . -name .py)
などを実行して、元のソースファイルを削除します。
あなたの最善の策は、実験的なPython-to-C++コンパイラである Shed Skin を使用してコンパイルすることです。
難読化は行いませんが、この Pythonレシピ は、コメントの除去を含むPythonコードのサイズの最小化に非常に有効です。