web-dev-qa-db-ja.com

逆コンパイルPython 2.7 .pyc

上下に検索しましたが、Python 2.7 .pycで動作する逆コンパイラを見つけることができません。Python 2.7?ありがとう

41
suffa

更新(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の代わりに。

16
Mike Driscoll

今日も午前中だったので、だれかがまだこれに苦労している場合、私に役立つ解決策を見つけました。

ncompyle

インストール手順:

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

デコンパイラは、主にコメントの形式でノイズを追加しますが、元のコードに驚くほどクリーンで忠実であることがわかりました。コードを実行できるようにするには、復元されたファイルの終わり近くで+++で始まるテキストの小さな行を削除する必要があります。

84
Milosz

Decompyle ++(pycdc)は、pythonバージョン: https://github.com/zrax/pycdc

例えば:

git clone https://github.com/zrax/pycdc   
cd pycdc
make  
./bin/pycdc Example.pyc > Example.py
26
Erik

以下は、pycファイルを逆コンパイルするための優れたツールです。

私によってコーディングされ、python 1.0-3.3をサポートしています

Uncompyle2およびdecompyle ++に基づいています

http://sourceforge.net/projects/easypythondecompiler/

11
Extreme Coders

Ned Batchelderが 短いスクリプト を投稿しました。これは.pycファイルを非整列化し、コードオブジェクトをすべて逆アセンブルするため、Pythonバイトコード。 Pythonの新しいバージョンでは、modtimeを設定する行をコメント化して出力する必要があります(ただし、moddateを設定する行はコメント化しないでください)。

これをPythonソースに戻すと、理論的には可能ですが、ソースはやや難しくなります。Python=.

3
Michael Hoffman