Pythonコードを難読化するのに役立つツールがありますか?Pythonコード難読化
答えて
最初のリンクはhttps://github.com/astrand/pyobfuscate – ashes999
で、あなたはバイトコンパイルする.pycファイルの代わりの.pyソースファイルを出荷することができます。これにより、ある程度の難読化レベルが得られます。 pyobfuscate READMEが示唆しているように、これには限界があります。しかし、あなたは2つのアプローチを組み合わせることができます。
問題のスペースは指定されていません。これはコマンドラインアプリ用ですか?このコードはライブラリとして使用することになっていますか?
その他の2つの回答に加えて、コードをバイナリに埋め込むことができます。起動すると、コードをデコードして文字列を評価します。これは、共有ライブラリの拡張機能でも機能します。あなたはバイトコードでそれを行うこともできますが、Py_EvalCodeを呼び出すのと同じくらい単純ではありません。
py2exeまたはfreezeは、コードを実行可能ファイルに変換する他のソリューションです。それは単にバイナリにコードを含み、重大なobsfucationを何もしませんが、.pyファイルを開くよりもまだ難しいです。
Pythonに似ているCythonでコードを書くことができ、Pythonの拡張ファイルをCで書いて.soとして使用できます。これはリバースエンジニアリングの最も難しいものですが、依然として高度な言語を提供しています。
すべての解決策と同様、これらはすべてハッキング可能です。どのようにあなたがそれが欲しいのですか?
Pythonの標準ライブラリには、compileall.pyが含まれています。これをディレクトリで実行すると、すべてのソースファイルの.pycファイルが生成されます。 .pycファイルには、バイトコードとドキュメントストリングのみが含まれ、すべてのコメントが削除されます。このディレクトリをコピーしてから、rm -rf $(find . -name .py)
のようなものを実行して、元のソースファイルを削除することができます。
私は実際にPythonをC++に変換し、静的にリンクされたバイナリファイルを作成する非常に素晴らしいプロジェクトを発見しました。
このうちそれは難読化を行いませんが、このPython recipeがコメントを出しストリッピングを含むPythonコードのサイズを最小化するために非常に適しています。
- 1. AngularJS難読化
- 2. Netbeans難読化
- 3. LinqToSql難読化
- 4. ARM ELF難読化
- 5. android library project難読化
Perlに変換しますか?ブーム、ブーム、聞いてくれてありがとう、私は一週間ここにいる:-) – paxdiablo
重複:http://stackoverflow.com/questions/261638/how-do-i-protect-python-code –
さらに一般的な議論:http ://stackoverflow.com/questions/164137/how-do-i-deploy-a-python-desktop-application – tzot