2011-09-22 20:53:45 -07:00
|
|
|
# Decompyle++
|
|
|
|
***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
|
|
|
|
|
2014-06-10 19:26:53 -07:00
|
|
|
## Building Decompyle++
|
2014-12-03 18:07:27 -08:00
|
|
|
* Generate a project or makefile with [CMake](http://www.cmake.org) (See CMake's documentation for details)
|
|
|
|
* Build the generated project or makefile
|
|
|
|
* For projects (e.g. MSVC), open the generated project file and build it
|
|
|
|
* For makefiles, just run `make`
|
|
|
|
* To run tests (on \*nix or MSYS), run `make test`
|
2011-09-22 20:53:45 -07:00
|
|
|
|
2014-06-10 19:26:53 -07:00
|
|
|
## Usage
|
2011-09-22 20:53:45 -07:00
|
|
|
**To run pycdas**, the PYC Disassembler:
|
2014-06-10 19:26:53 -07:00
|
|
|
`./pycdas [PATH TO PYC FILE]`
|
2011-09-22 20:53:45 -07:00
|
|
|
The byte-code disassembly is printed to stdout.
|
|
|
|
|
|
|
|
**To run pycdc**, the PYC Decompiler:
|
2014-06-10 19:26:53 -07:00
|
|
|
`./pycdc [PATH TO PYC FILE]`
|
2011-09-22 20:53:45 -07:00
|
|
|
The decompiled Python source is printed to stdout.
|
|
|
|
Any errors are printed to stderr.
|
|
|
|
|
|
|
|
## Authors, Licence, Credits
|
|
|
|
Decompyle++ is the work of Michael Hansen and Darryl Pogue.
|
2014-06-10 19:26:53 -07:00
|
|
|
|
|
|
|
Additional contributions from:
|
|
|
|
* charlietang98
|
|
|
|
* Kunal Parmar
|
|
|
|
* Olivier Iffrig
|
|
|
|
* Zlodiy
|
|
|
|
|
|
|
|
It is released under the terms of the GNU General Public License, version 3;
|
|
|
|
See LICENSE file for details.
|