39

Pythonコードを難読化するのに役立つツールを知っていますか?

4

7 に答える 7

15

あなたの問題空間は指定されていません。これはコマンドライン アプリ用ですか? このコードはライブラリとして使用されることになっていますか?

他の 2 つの回答に加えて、コードをバイナリに埋め込むことができます。開始したら、コードをデコードし、文字列を評価します。これは、共有ライブラリ拡張機能でも機能します。バイト コードでも同じことができると思いますが、Py_EvalCode を呼び出すほど簡単ではありません。

py2exe または freeze は、コードを実行可能ファイルに変換する他のソリューションです。バイナリにコードが含まれているだけで、深刻な難読化は行われていませんが、それでも .py ファイルを開くよりは困難です。

Python に似た Cython でコードを記述し、.so として使用するために C で Python 拡張ファイルを記述できます。これはおそらく、これらの中でリバース エンジニアリングを行うのが最も難しく、それでも開発用の高水準言語を提供するものです。

すべてのソリューションと同様に、それらはすべてハッキング可能です。どれくらい難しくしたいですか?

于 2009-02-23T10:29:49.893 に答える
12

http://www.lysator.liu.se/~astrand/projects/pyobfuscate/

またはhttp://freshmeat.net/projects/pyobfuscate/

于 2009-02-23T09:10:54.590 に答える
9

実際、基本的に Python を C++ に変換し、静的にリンクされたバイナリ ファイルを作成する非常に優れたプロジェクトを見つけました。

これをチェックしてください:http ://www.nuitka.net/

于 2012-12-08T10:10:05.727 に答える
5

多くの場合、.py ソース ファイルの代わりに、バイト コンパイルされた .pyc ファイルを出荷できます。これにより、ある程度の難読化が実現します。pyobfuscate README が示唆するように、これには制限があります。ただし、2 つのアプローチを組み合わせることができる場合があります。

于 2009-02-23T09:53:42.583 に答える
4

Pythonの標準ライブラリにはcompileall.pyが含まれています。これをディレクトリで実行すると、すべてのソースファイルに対して.pycファイルが生成されます。.pycファイルには、バイトコードとdocstringのみが含まれ、すべてのコメントが削除されます。次に、このディレクトリをコピーrm -rf $(find . -name .py)してから、元のソースファイルを削除するような操作を実行できます。

于 2011-01-21T22:22:15.680 に答える
2

最善の策は、実験的な Python-to-C++ コンパイラであるShed Skinを使用してコンパイルすることです。

于 2011-08-29T16:31:36.030 に答える
0

難読化は行いませんが、このPython レシピは、コメントの削除など、Python コードのサイズを最小限に抑えるのに非常に効果的です。

于 2013-08-09T16:37:08.773 に答える