上下に検索しましたが、Python 2.7 .pycで動作する逆コンパイラを見つけることができません。Python 2.7?ありがとう
更新(2019-04-22)-私が最初に言及した答えではなく、 ncompyle6 を使用したいようです。
これは動作しているようです: http://code.google.com/p/unpyc/
問題8は2.7をサポートしていると述べています: http://code.google.com/p/unpyc/updates/list
更新(2013-09-03)-コメントおよびその他の回答に記載されているように、 https://github.com/wibiti/uncompyle2 または https:// github.com/gstarnberger/uncompyle unpycの代わりに。
今日も午前中だったので、だれかがまだこれに苦労している場合、私に役立つ解決策を見つけました。
インストール手順:
git clone https://github.com/gstarnberger/uncompyle.git
cd uncompyle/
Sudo ./setup.py install
プログラムがインストールされると(注:システム全体にアクセス可能なPythonパッケージにインストールされるため、$PATH
)、Pythonファイルを次のように復元できます。
uncompyler.py thank_goodness_this_still_exists.pyc > recovered_file.py
デコンパイラは、主にコメントの形式でノイズを追加しますが、元のコードに驚くほどクリーンで忠実であることがわかりました。コードを実行できるようにするには、復元されたファイルの終わり近くで+++で始まるテキストの小さな行を削除する必要があります。
Decompyle ++(pycdc)は、pythonバージョン: https://github.com/zrax/pycdc
例えば:
git clone https://github.com/zrax/pycdc
cd pycdc
make
./bin/pycdc Example.pyc > Example.py
以下は、pycファイルを逆コンパイルするための優れたツールです。
私によってコーディングされ、python 1.0-3.3をサポートしています
Uncompyle2およびdecompyle ++に基づいています
Ned Batchelderが 短いスクリプト を投稿しました。これは.pycファイルを非整列化し、コードオブジェクトをすべて逆アセンブルするため、Pythonバイトコード。 Pythonの新しいバージョンでは、modtime
を設定する行をコメント化して出力する必要があります(ただし、moddate
を設定する行はコメント化しないでください)。
これをPythonソースに戻すと、理論的には可能ですが、ソースはやや難しくなります。Python=.