Lil-Ran 5e70e1e084
Some checks failed
Build / build (macos-latest) (push) Has been cancelled
Build / build (ubuntu-latest) (push) Has been cancelled
Build / windows-build (push) Has been cancelled
fix: 3.14 magic is 3627 (0xE2B)
2026-01-18 19:14:32 +08:00
2025-11-19 00:10:29 +08:00
2025-07-27 14:46:12 +03:00
2025-07-04 19:16:04 +05:30
2025-07-01 09:22:56 +05:30
2023-06-02 01:12:59 +02:00
2025-07-15 22:47:02 +05:30
2025-08-28 15:58:28 -07:00
2025-08-28 15:58:28 -07:00
2009-07-25 00:43:46 +00:00
2025-09-18 16:35:01 +08:00
2025-08-30 20:01:32 +05:30
2025-09-18 21:49:31 +08:00
2026-01-18 19:14:32 +08:00
2025-11-19 00:07:46 +08:00
2025-03-05 22:55:46 +08:00

Decompyle++

A Python Byte-code Disassembler/Decompiler

Decompyle++ aims to translate compiled Python byte-code back into valid and human-readable Python source code. While other projects have achieved this with varied success, Decompyle++ is unique in that it seeks to support byte-code from any version of Python.

Decompyle++ includes both a byte-code disassembler (pycdas) and a decompiler (pycdc).

As the name implies, Decompyle++ is written in C++. If you wish to contribute, please fork us on github at https://github.com/zrax/pycdc

Building Decompyle++

  • Generate a project or makefile with CMake (See CMake's documentation for details)

    • The following options can be passed to CMake to control debug features:
      Option Description
      -DCMAKE_BUILD_TYPE=Debug Produce debugging symbols
      -DENABLE_BLOCK_DEBUG=ON Enable block debugging output
      -DENABLE_STACK_DEBUG=ON Enable stack debugging output
  • Build the generated project or makefile

    • For projects (e.g. MSVC), open the generated project file and build it
    • For makefiles, just run make
    • To run tests (on *nix or MSYS), run make check JOBS=4 (optional FILTER=xxxx to run only certain tests)

Usage

To run pycdas, the PYC Disassembler: ./pycdas [PATH TO PYC FILE] The byte-code disassembly is printed to stdout.

To run pycdc, the PYC Decompiler: ./pycdc [PATH TO PYC FILE] The decompiled Python source is printed to stdout. Any errors are printed to stderr.

Marshalled code objects: Both tools support Python marshalled code objects, as output from marshal.dumps(compile(...)).

To use this feature, specify -c -v <version> on the command line - the version must be specified as the objects themselves do not contain version metadata.

Authors, Licence, Credits

Decompyle++ is the work of Michael Hansen and Darryl Pogue.

Additional contributions from:

  • charlietang98
  • Kunal Parmar
  • Olivier Iffrig
  • Zlodiy

It is released under the terms of the GNU General Public License, version 3; See LICENSE file for details.

Description
稍作修改的pycdc,牺牲一点正确性来获得更完整的反编译代码,对高版本字节码的态度是能多输出一行是一行,只需运行pycdc即可一次性输出反汇编和反编译
Readme 1.1 MiB
v2026.1.18 Latest
2026-01-25 16:55:35 +08:00
Languages
C++ 85.2%
Python 14.3%
CMake 0.5%