https://github.com/aasyaco/pycdca
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.7%) to scientific vocabulary
Keywords
Repository
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.markdown
Decompyle++ (pycdc) — zrsx Fork
A blazing-fast Python bytecode decompiler & disassembler for Python 2.7–3.13
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
.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.7 – 3.13
- Fast, minimal, and standalone (no Python runtime needed)
Installation
Dependencies
Install the required packages:
bash
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
bash
git clone https://github.com/zrsx/pycdc.git
cd pycdc
cmake .
make
Optional: Run the test suite
bash
make check
Usage
Decompile .pyc File
bash
./pycdc path/to/file.pyc
Disassemble .pyc File
bash
./pycdas path/to/file.pyc
Decompile Marshalled Code
bash
./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
bash
./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
.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.
Owner
- Name: 𝗚𝗘𝗢𝗥𝗚𝗘
- Login: Aasyaco
- Kind: user
- Location: New York
- Repositories: 1
- Profile: https://github.com/Aasyaco
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1