Pycdc
C++ python bytecode disassembler and decompiler
Install / Use
/learn @zrsx/PycdcREADME
Decompyle++ (pycdc) — zrsx Fork
A blazing-fast Python bytecode decompiler & disassembler for Python 2.0–3.14
Overview
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.0 through 3.14
- Newer opcode formats and edge cases
- Marshalled code objects and
.pycfiles - High-speed native C++ processing
Features
- Decompiles
.pycfiles to readable Python source - Disassembles bytecode into opcode instructions
- Works with marshalled code objects (e.g.,
.marshalled) - Supports Python versions 2.0 – 3.14
- Fast, minimal, and standalone (no Python runtime needed)
Installation
Dependencies
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) |
Build
git clone https://github.com/zrsx/pycdc.git
cd pycdc
cmake .
make
Optional: Run the test suite
make check
Usage
Decompile .pyc File
./pycdc path/to/file.pyc
Disassemble .pyc File
./pycdas path/to/file.pyc
Decompile Marshalled Code
./pycdc -c -v 3.14 path/to/file.marshalled
Flags
| Flag | Description |
| ---- | --------------------------------------------- |
| -c | Treat input as marshalled code |
| -v | Specify Python version (e.g., 3.11, 3.13) |
Examples
./pycdas __pycache__/example.cpython-312.pyc
Prebuilt Executables
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.
Reporting Issues
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
.pycor.marshalledfile (if possible) - Full output/error logs
- Minimal source snippet (if relevant)
License
Distributed under the terms of the GNU General Public License v3.0 View License
Credits
- Fork Maintainer: zrsx
- Original Authors: Michael Hansen, Darryl Pogue
- Notable Contributors: charlietang98 • Kunal Parmar • Olivier Iffrig • Zlodiy • George
Contributing
We welcome:
- Opcode/bytecode updates
- Bug reports and feature requests
- Pull requests for enhancements or fixes
Star the repo to support continued development.
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
107.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
346.8kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
