Tôi đã tìm kiếm lên và xuống, nhưng không thể tìm thấy trình biên dịch de sẽ hoạt động với Python 2.7 .pyc. Có ai biết một trong đó sẽ làm việc cho Python 2,7? Cảm ơnDecompile Python 2.7 .pyc
Trả lời
này nghe có vẻ như nó hoạt động: http://code.google.com/p/unpyc/
Issue 8 nói nó hỗ trợ 2,7: http://code.google.com/p/unpyc/updates/list
UPDATE (2013/09/03) - Như đã trình bày trong các ý kiến và câu trả lời khác, bạn nên xem xét https://github.com/wibiti/uncompyle2 hoặc https://github.com/gstarnberger/uncompyle thay cho unpyc.
Ned Batchelder đã đăng một short script sẽ hủy một tệp .pyc và tháo rời bất kỳ đối tượng mã nào bên trong, vì vậy bạn sẽ có thể xem mã bytecode của Python. Dường như với các phiên bản mới hơn của Python, bạn sẽ cần phải nhận xét các dòng đặt modtime
và in nó (nhưng không nhận xét dòng đặt moddate
).
Quay trở lại nguồn Python sẽ khó hơn một chút, mặc dù về mặt lý thuyết có thể. Tôi giả sử tất cả các chương trình này làm việc cho các phiên bản cũ của Python làm điều đó.
Trong trường hợp bất cứ ai vẫn đang vật lộn với điều này, như tôi là tất cả các buổi sáng ngày hôm nay, tôi đã tìm thấy một giải pháp mà làm việc cho tôi:
Hướng dẫn cài đặt:
git clone https://github.com/gstarnberger/uncompyle.git
cd uncompyle/
sudo ./setup.py install
Khi chương trình được cài đặt (lưu ý: chương trình sẽ được cài đặt vào các gói Python có thể truy cập trên toàn hệ thống của bạn, vì vậy nó phải nằm trong số $PATH
), bạn có thể khôi phục các tệp Python của mình như sau:
uncompyler.py thank_goodness_this_still_exists.pyc > recovered_file.py
Trình giải mã thêm một số tạp âm chủ yếu ở dạng nhận xét, tuy nhiên tôi thấy nó đáng ngạc nhiên trong sạch và trung thành với mã gốc của tôi. Bạn sẽ phải xóa một dòng văn bản nhỏ bắt đầu bằng +++ ở gần cuối của tệp được khôi phục để có thể chạy mã của bạn.
Lưu thịt xông khói của tôi!Tôi sẽ thêm nó vào virtualenv của tôi từ bây giờ ... – kaleissin
Lưu thịt xông khói của tôi quá. Tôi đã là một thiên tài chạy rm * .py để dọn dẹp các tệp pyc của tôi trước khi cam kết git. Nhưng ít nhất nó để lại cho tôi với các tập tin .pyc của tôi trong một chút trớ trêu. – Eloff
@Eloff Tệp .gitignore chứa * .pyc sẽ dễ dàng hơn là phải lưu ý đến việc xóa * .pyc trước mỗi lần commit! Có thể là bạn biết rằng và có chút ám ảnh về việc có một môi trường sạch mặc dù, như nhiều lập trình viên có xu hướng: D – Milosz
Decompyle ++ (pycdc) xuất hiện để làm việc cho một loạt các phiên bản python: https://github.com/zrax/pycdc
Ví dụ:
git clone https://github.com/zrax/pycdc
cd pycdc
make
./bin/pycdc Example.pyc > Example.py
True lifesaver, chỉ có một cái mà làm việc cho tôi. –
bạn phải chạy 'cmake'. trước khi bạn chạy make –
Phiên bản trực tuyến của trình dịch ngược này có sẵn tại đây http://www.javadecompilers.com/pyc. Không cần cài đặt. –
Đây là một công cụ tuyệt vời để dịch ngược file PYC.
Nó được mã hóa bởi tôi và hỗ trợ python 1,0-3,3
của nó dựa trên uncompyle2 và decompyle ++
Ngọt ngào! Đáng nói đến, đây là một cho người dùng windows :) – tutuDajuju
Mã nguồn không có sẵn trên SourceForge, vì vậy tôi sẽ bỏ qua công cụ này ngay bây giờ. – Bludzee
Công cụ rất tiện dụng! Biên dịch tệp Python 2.7 của tôi mà không gặp bất kỳ vấn đề nào dưới rượu trên Linux Mint – sly
- 1. Tạo .pyc từ Python AST?
- 2. Các tệp Python 2.5 .pyc có tương thích với các tệp Python 2.6 .pyc không?
- 3. python 2.7 vs python 3.1
- 4. urllib.request bằng Python 2.7
- 5. Python 2.7 trên Ubuntu
- 6. Ttk trên python 2.7
- 7. python 2.7 chữ thường
- 8. mod_python cho python 2.7
- 9. Python 2.7 argparse
- 10. Dừng Python tạo tệp pyc trong shebang
- 11. $ PYTHONSTARTUP với python 2.7 và python 3.2
- 12. MySQLdb cho Python 2.7 (Ubuntu)
- 13. API Perforce cho Python 2.7
- 14. Python 2.7: Print to File
- 15. python 2.7 string.join() với unicode
- 16. base64 mã hóa các chuỗi unicode trong python 2.7
- 17. Tệp Pydev và * .pyc
- 18. Tại sao tệp python .pyc chứa đường dẫn tuyệt đối của mã nguồn của chúng?
- 19. Làm cho Python bỏ qua các tệp .pyc
- 20. dotnet dll decompile và thay đổi mã
- 21. Python 2.7 không thể nhập PyQt4
- 22. Tạo python 2.7 daemon với pep-3143
- 23. easy_install lxml trên Python 2.7 trên Windows
- 24. cài đặt libxml2 trên python 2.7 windows
- 25. python 2.7/exec/có gì sai?
- 26. Nâng cấp Python lên 2.7 trên OSX
- 27. Python 2.7 Beautiful Soup img src Extract
- 28. Cài đặt Python 2.7 trên SLES 11
- 29. python 2.7 hiện diện trong từ điển
- 30. python 2.7 không cài đặt matplotlib
Ngay cả sau khi áp dụng các bản vá trong vấn đề 8, tôi không thể có được điều này để làm việc với Python 2.7. –
treo với ngoại lệ trên Python 2.7 - sử dụng Uncompyle2 – RichVel
Tôi đã bỏ phiếu bình chọn vì câu trả lời không hoạt động với python 2.7 –