Skip to content

Aasyaco/pycdcA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Decompyle++ (pycdc) — zrsx Fork

A blazing-fast Python bytecode decompiler & disassembler for Python 2.7–3.13

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

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.7 through 3.13
  • 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.7 – 3.13
  • 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.13 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
./pycdc -c -v 3.13 dumped_code.marshalled

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.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 31

Languages