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.
- jika Anda menggunakan Python 3.7+, Anda juga bisa mencoba decompile3 , sebuah garpu dari Uncompyle6 yang berfokus pada 3.7 dan lebih tinggi.
- lakukan mengangkat masalah GitHub pada proyek-proyek ini jika diperlukan - keduanya menjalankan unit test suites pada berbagai versi Python
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 .Daripada Anda dapat mendekompilasi file .pyc Anda
sumber
print __copyright
- mengapa menggunakan versi Python 2.7print
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.
sumber
Decompyle ++ (pycdc) adalah satu-satunya yang bekerja untuk saya: https://github.com/zrax/pycdc
disarankan dalam Decompile Python 2.7 .pyc
sumber
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 .
sumber
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.
sumber
Instal menggunakan pip install pycompyle6
pycompyle6 filename.pyc
sumber