Jawaban:
Uncompyle6 berfungsi untuk Python 3.x dan 2.7 - opsi yang disarankan karena merupakan alat terbaru, yang bertujuan untuk menyatukan garpu sebelumnya dan berfokus pada pengujian unit otomatis. The Halaman GitHub memiliki rincian lebih lanjut.
Uncompyle2 yang lebih lama hanya mendukung Python 2.7. Ini bekerja dengan baik bagi saya beberapa waktu lalu untuk mendekompilasi bytecode .pyc ke .py, sedangkan unpyclib mengalami crash dengan pengecualian.
Dengan semua alat ini, Anda mendapatkan kode kembali termasuk nama variabel, tetapi tanpa komentar.
Ya, Anda bisa mendapatkannya dengan unpyclib
itu dapat ditemukan di pypi .
$ pip install unpyclib
Daripada Anda dapat mendekompilasi file .pyc Anda
$ python -m unpyclib.application -Dq path/to/file.pyc
print __copyright
- mengapa menggunakan versi Python 2.7 print
tanpa tanda kurung?
unpyclib
rilis pertama dan terakhir pada tahun 2009 , aman untuk mengatakan itu adalah program hanya Python 2.
Anda dapat mencoba Easy Python Decompiler . Ini didasarkan pada Decompyle ++ dan Uncompyle2. Ini mendukung penguraian versi python 1.0-3.3
Catatan: Saya penulis alat di atas.
Decompyle ++ (pycdc) adalah satu-satunya yang bekerja untuk saya: https://github.com/zrax/pycdc
disarankan dalam Decompile Python 2.7 .pyc
Ya .
Saya menggunakan dekompilasi uncompyle6 (bahkan mendukung Python 3.8.0 terbaru):
uncompyle6 utils.cpython-38.pyc > utils.py
dan python asal dan membandingkan python membandingkan terlihat seperti ini:
sehingga Anda dapat melihat, HAMPIR sama, efek dekompilasi SANGAT BAIK .
Ya itu mungkin.
Ada dekompiler open-source Python (.PYC) yang sempurna, yang disebut Decompyle ++ https://github.com/zrax/pycdc/
Decompyle ++ bertujuan untuk menerjemahkan kode byte Python yang dikompilasi kembali menjadi kode sumber Python yang valid dan dapat dibaca manusia. Sementara proyek-proyek lain telah mencapai ini dengan keberhasilan yang bervariasi, Decompyle ++ unik karena berupaya mendukung kode byte dari versi Python apa pun.
Instal menggunakan pip install pycompyle6
pycompyle6 filename.pyc