Star on GitHubStar1.1k stars

Tool

Decompyle++ (pycdc)

C++ disassembler and decompiler for compiled Python bytecode that aims to support bytecode from any Python version. pycdas prints the disassembly of a .pyc file, and pycdc prints reconstructed Python source to stdout with errors on stderr; both also accept raw marshalled code objects when the Python version is given on the command line. The source carries opcode tables for Python 1.0 through 3.13.

Targets
App · Binary
Category
Native analysis tools
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • The project publishes no releases or tags, so it is built from source; the reviewed master commit dates from 2026-04-07. The README makes no per-version completeness claim. The .pyc loader recognizes bytecode up to Python 3.13 but not 3.14, and the regression suite’s compiled samples stop at 3.12: 20 of its 191 samples are for 3.10–3.12, and 39 more are kept as expected failures.
  • CMakeLists.txt requires CMake 3.12+ and a C++11 compiler, and GCC and Clang builds treat warnings as errors. make check runs the tests on Unix-like systems or MSYS; CI builds and tests on Ubuntu and as 32-bit Visual Studio 2022 builds on Windows, where the executables are kept only as workflow artifacts.
  • Input .pyc files or marshalled code objects come from the user; recovering them from packaged applications is outside the tool. The README describes no verification of decompiled output, so uncertain regions should be compared with the pycdas disassembly.
  • GPL-3.0. Recovered source remains subject to the rights of the original program’s owner.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.markdown GitHub · zrax/pycdc · Revision b428976
  2. CMakeLists.txt GitHub · zrax/pycdc · Revision b428976
  3. pyc_module.h GitHub · zrax/pycdc · Revision b428976
  4. bytes GitHub · zrax/pycdc · Revision b428976
  5. tests/compiled GitHub · zrax/pycdc · Revision b428976
  6. tests/xfail GitHub · zrax/pycdc · Revision b428976
  7. .github/workflows/linux-ci.yml GitHub · zrax/pycdc · Revision b428976
  8. .github/workflows/msvc-ci.yml GitHub · zrax/pycdc · Revision b428976
  9. LICENSE GitHub · zrax/pycdc · Revision b428976

More in Native binaries

All 269 entries in Native binaries

↑↓ move↵ open⌘↵ new tab