chore: directory structure
This commit is contained in:
57
pycdc/README-Decompyle++.markdown
Normal file
57
pycdc/README-Decompyle++.markdown
Normal file
@@ -0,0 +1,57 @@
|
||||
# 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
|
||||
|
||||
## Building Decompyle++
|
||||
* Generate a project or makefile with [CMake](http://www.cmake.org) (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 output |
|
||||
|
||||
* 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 check JOBS=4` (optional
|
||||
`FILTER=xxxx` to run only certain tests)
|
||||
|
||||
## Usage
|
||||
**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.
|
||||
|
||||
## Authors, Licence, Credits
|
||||
Decompyle++ is the work of Michael Hansen and Darryl Pogue.
|
||||
|
||||
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.
|
Reference in New Issue
Block a user