SkillAgentSearch skills...

Pycdc

C++ python bytecode disassembler and decompiler

Install / Use

/learn @zrsx/Pycdc
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Decompyle++ (pycdc) — zrsx Fork

A blazing-fast Python bytecode decompiler & disassembler for Python 2.0–3.14

Build Status License Python Versions GitHub Stars GitHub Forks MSVC-CI Linux-CI Build Status CircleCI Build

Issues: Open Issues Closed Issues

Pull Requests: Open PRs Closed PRs


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 .pyc files
  • High-speed native C++ processing

Features

  • Decompiles .pyc files 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 .pyc or .marshalled file (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

View on GitHub
GitHub Stars22
CategoryDevelopment
Updated1d ago
Forks6

Languages

C++

Security Score

95/100

Audited on Apr 2, 2026

No findings