A Python Byte-code Disassembler/Decompiler
Decompyle++ aims to translate compiled Python byte-code back into valid and human-readable Python source code. While other projects have achieved this with varied success, Decompyle++ is unique in that it seeks to support byte-code from any version of Python.
Decompyle++ includes both a byte-code disassembler (pycdas) and a decompiler (pycdc).
As the name implies, Decompyle++ is written in C++. If you wish to contribute, please fork us on github at https://github.com/zrax/pycdc
Generate a project or makefile with CMake (See CMake's documentation for details)
The following options can be passed to CMake to control debug features:
Option Description-DCMAKE_BUILD_TYPE=Debug
Produce debugging symbols -DENABLE_BLOCK_DEBUG=ON
Enable block debugging output -DENABLE_STACK_DEBUG=ON
Enable stack debugging outputBuild the generated project or makefile
make
make check JOBS=4
(optional FILTER=xxxx
to run only certain tests)To run pycdas, the PYC Disassembler: ./pycdas [PATH TO PYC FILE]
The byte-code disassembly is printed to stdout.
To run pycdc, the PYC Decompiler: ./pycdc [PATH TO PYC FILE]
The decompiled Python source is printed to stdout. Any errors are printed to stderr.
Marshalled code objects: Both tools support Python marshalled code objects, as output from marshal.dumps(compile(...))
.
To use this feature, specify -c -v <version>
on the command line - the version must be specified as the objects themselves do not contain version metadata.
Decompyle++ is the work of Michael Hansen and Darryl Pogue.
Additional contributions from:
It is released under the terms of the GNU General Public License, version 3; See LICENSE file for details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4