A blazing-fast Python bytecode decompiler & disassembler for Python 2.7–3.13
Decompyle++ is a fast, cross-version Python bytecode decompiler and disassembler written in C++. This fork by zrsx extends the original pycdc
to support:
- Python 2.7 through 3.13
- Newer opcode formats and edge cases
- Marshalled code objects and
.pyc
files - High-speed native C++ processing
- Decompiles
.pyc
files to readable Python source - Disassembles bytecode into opcode instructions
- Works with marshalled code objects (e.g.,
.marshalled
) - Supports Python versions 2.7 – 3.13
- Fast, minimal, and standalone (no Python runtime needed)
Install the required packages:
sudo apt update
sudo apt install build-essential cmake git python3-dev
Package | Description |
---|---|
build-essential |
Compilers and build tools |
cmake |
Build system generator |
git |
Repository cloning |
python3-dev |
Python headers (for opcode support) |
git clone https://github.com/zrsx/pycdc.git
cd pycdc
cmake .
make
Optional: Run the test suite
make check
./pycdc path/to/file.pyc
./pycdas path/to/file.pyc
./pycdc -c -v 3.13 path/to/file.marshalled
Flag | Description |
---|---|
-c |
Treat input as marshalled code |
-v |
Specify Python version (e.g., 3.11 , 3.13 ) |
./pycdas __pycache__/example.cpython-312.pyc
Looking for a ready-to-use binary?
Prebuilt .zip
files for Windows, Linux, and macOS are automatically generated on every successful CI run.
📦 Download from GitHub Actions Artifacts:
Platform | Executable Zip | Notes |
---|---|---|
🪟 Windows | Download | Built via MSVC |
🐧 Linux | Download | Built via GCC |
🍎 macOS | Download | Built via Clang |
🔧 Visit the relevant workflow, click on the latest successful run, and scroll down to the Artifacts section to download.
Help us improve! If you find:
- Crashes
- Incorrect output
- Unsupported opcodes (e.g.,
UNSUPPORTED_OPCODE 218
)
Please open an issue at: https://github.com/zrsx/pycdc/issues
Include:
- Python version used to generate the
.pyc
- The
.pyc
or.marshalled
file (if possible) - Full output/error logs
- Minimal source snippet (if relevant)
Distributed under the terms of the GNU General Public License v3.0 View License
- Fork Maintainer: zrsx
- Original Authors: Michael Hansen, Darryl Pogue
- Notable Contributors: charlietang98 • Kunal Parmar • Olivier Iffrig • Zlodiy • George
We welcome:
- Opcode/bytecode updates
- Bug reports and feature requests
- Pull requests for enhancements or fixes
Star the repo to support continued development.