回答:
Uncompyle6はPython 3.xおよび2.7で動作します。これは最新のツールであるため推奨オプションであり、以前のフォークを統合して自動化された単体テストに焦点を当てることを目的としています。GitHubのページには、より多くの詳細を持っています。
古いUncompyle2はPython 2.7のみをサポートしています。これは、しばらく前に.pycバイトコードを.pyに逆コンパイルするのにうまくいきましたが、unpyclibは例外でクラッシュしました。
これらすべてのツールを使用すると、変数名を含めてコードを取り戻すことができますが、コメントはありません。
はい、それはpypiunpyclib
で見つけることができます。
$ pip install unpyclib
.pycファイルを逆コンパイルできます
$ python -m unpyclib.application -Dq path/to/file.pyc
print __copyright
- print
括弧なしのPython 2.7バージョンを使用しているのはなぜですか?
Easy Python Decompilerを試すことができます。Decompyle ++とUncompyle2に基づいています。pythonバージョン1.0-3.3の逆コンパイルをサポートしています
注:私は上記のツールの作成者です。
Decompyle ++(pycdc)は私のために働いた唯一のものでした:https : //github.com/zrax/pycdc
Decompile Python 2.7 .pycで提案されました
はい。
私はuncompyle6逆コンパイルを使用します(最新のPython 3.8.0もサポートします)。
uncompyle6 utils.cpython-38.pyc > utils.py
そして、元のpythonと逆コンパイルされたpythonの比較は次のようになります:
あなたが見ることができるように、ALMOST同じ、逆コンパイル効果があるVERY GOOD。
はい、可能です。
Decompyle ++ https://github.com/zrax/pycdc/と呼ばれる完璧なオープンソースのPython(.PYC)デコンパイラーがあります。
Decompyle ++は、コンパイルされたPythonバイトコードを有効で人間が読めるPythonソースコードに変換することを目的としています。他のプロジェクトでもさまざまな成功を収めてこれを達成していますが、Decompyle ++は、Pythonの任意のバージョンのバイトコードをサポートしようとする点で独特です。