{"id":13674068,"url":"https://github.com/serfend/pydumpck","last_synced_at":"2026-01-16T09:08:11.988Z","repository":{"id":37299986,"uuid":"495088788","full_name":"serfend/pydumpck","owner":"serfend","description":"a multi-threads tool for decompile exe,elf,pyz,pyc packed by python which is base on pycdc and uncompyle6.","archived":false,"fork":false,"pushed_at":"2024-05-19T01:43:28.000Z","size":57973,"stargazers_count":375,"open_issues_count":36,"forks_count":36,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-09-29T05:26:41.890Z","etag":null,"topics":["auto-detection","cross-platform","decompiler","elf","exe","multithreading","pyc","pyz"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/pydumpck/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serfend.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-22T14:47:25.000Z","updated_at":"2025-09-28T20:31:47.000Z","dependencies_parsed_at":"2025-04-28T15:14:50.734Z","dependency_job_id":null,"html_url":"https://github.com/serfend/pydumpck","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/serfend/pydumpck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fpydumpck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fpydumpck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fpydumpck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fpydumpck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serfend","download_url":"https://codeload.github.com/serfend/pydumpck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fpydumpck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-detection","cross-platform","decompiler","elf","exe","multithreading","pyc","pyz"],"created_at":"2024-08-02T11:00:37.796Z","updated_at":"2026-01-16T09:08:11.956Z","avatar_url":"https://github.com/serfend.png","language":"Python","readme":"\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://visitorbadge.io/status?path=https%3A%2F%2Fgithub.com%2Fserfend%2Fpydumpck%2F\"\u003e\u003cimg src=\"https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Fserfend%2Fpydumpck%2F\u0026labelColor=%23697689\u0026countColor=%23ff8a65\u0026style=plastic\u0026labelStyle=none\" /\u003e\u003c/a\u003e \n    \u003ca href=\"https://pypi.python.org/pypi/pydumpck/\"\u003e\u003cimg alt=\"pypi version\" src=\"https://img.shields.io/pypi/v/pydumpck.svg\" /\u003e\u003c/a\u003e \n    \u003ca href=\"https://pypistats.org/packages/pydumpck\"\u003e\u003cimg alt=\"pypi download\" src=\"https://img.shields.io/pypi/dm/pydumpck.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/serfend/pydumpck/releases\"\u003e\u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/release/serfend/pydumpck.svg?style=flat-square\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/serfend/pydumpck/releases\"\u003e\u003cimg alt=\"GitHub All Releases\" src=\"https://img.shields.io/github/downloads/serfend/pydumpck/total.svg?style=flat-square\u0026color=%2364ff82\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/serfend/pydumpck/commits\"\u003e\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/serfend/pydumpck.svg?style=flat-square\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/serfend/pydumpck/actions/workflows/pytest.yml\"\u003e\u003cimg alt=\"GitHub Workflow Status\" src=\"https://github.com/serfend/pydumpck/actions/workflows/pytest.yml/badge.svg\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\n\n![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\u0026logo=windows\u0026logoColor=white)![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge\u0026logo=linux\u0026logoColor=black)![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge\u0026logo=ubuntu\u0026logoColor=white)![Kali](https://img.shields.io/badge/Kali-268BEE?style=for-the-badge\u0026logo=kalilinux\u0026logoColor=white)![FreeBSD](https://img.shields.io/badge/-FreeBSD-%23870000?style=for-the-badge\u0026logo=freebsd\u0026logoColor=white)![Deepin](https://img.shields.io/badge/Deepin-007CFF?style=for-the-badge\u0026logo=deepin\u0026logoColor=white)![Debian](https://img.shields.io/badge/Debian-D70A53?style=for-the-badge\u0026logo=debian\u0026logoColor=white)![Cent OS](https://img.shields.io/badge/cent%20os-002260?style=for-the-badge\u0026logo=centos\u0026logoColor=F0F0F0)\n\n# What?\n\npydumpck is a multi-threads tool for decompile exe,elf,pyz,pyc packed by python which is base on `pycdc` and `uncompyle6`.sometimes its py-file result not exactly right ,maybe could use uncompyle6.\n\n\n\n## Install\n\n```shell\npip install pydumpck\n```\n\n\n\n## Usage\n\n```shell\nusage: pydumpck [-h] [-o OUTPUT_DIRECTORY] [-w THREAD] [-t TIMEOUT] [--session-timeout TIMEOUT_SESSION]\n                [-y TARGET_FILE_TYPE] [-d [DECOMPILE_FILE ...]] [--header [STRUCT_HEADERS ...]] [-v [SHOW_VERSION]]\n                [-p [PLUGIN ...]]\n                [target_file]\n\npydumpck is a multi-threads tool for decompile exe,elf,pyz,pyc packed by python which is base on pycdc and\nuncompyle6.sometimes its py-file result not exactly right ,maybe could use uncompyle6.\n\npositional arguments:\n  target_file           file to extract or decompiler,combine with -y for type select.\n\noptions:\n  -h, --help            show this help message and exit\n  -o OUTPUT_DIRECTORY, --output OUTPUT_DIRECTORY\n                        output archive file to (default: output_2938294).\n  -w THREAD, --thread THREAD\n                        thread count for running (default: 0) cpu-count * 8.\n  -t TIMEOUT, --timeout TIMEOUT\n                        timeout running single decompiler (default: 10).\n  --session-timeout TIMEOUT_SESSION\n                        timeout running total task (default: 10).\n  -y TARGET_FILE_TYPE, --type TARGET_FILE_TYPE\n                        file-type of input file,can use pe,exe,elf,pyc,pyz (default: None : auto guess).\n  -d [DECOMPILE_FILE ...], --decompile_file [DECOMPILE_FILE ...]\n                        only decompile referred file for quick complete (default: None).\n  --header [STRUCT_HEADERS ...]\n                        specify pyc header hex-string (default: None).if not set , pydumpck will use struct.pyc's\n                        header(if possible) and default header.eg:6f0d0d0a 00000000 00000000 ffffffff\n  -v [SHOW_VERSION], --version [SHOW_VERSION]\n                        show version of package\n  -p [PLUGIN ...], --plugin [PLUGIN ...]\n                        enable decompiler plugins,split by space .example: `--plugin pycdc uncompyle6` (default:\n                        ['pycdc']).available:pycdc,uncompyle6\n```\n\n\n\n\n\n## Quick Start\n\n```shell\npydumpck xxx.exe\npydumpck xxx.elf\npydumpck xxx.pyc\npydumpck xxx.pyz\npydumpck xxx.exe --output ./output --thread 8 --timeout 10\n```\n\n\n\n## Example\n\n- `-p/--plugin` specified which plugin to use for decompile (pycdc|uncompyle6)\n\n`pydumpck xxx.exe -p uncompyle6`\n\n`pydumpck xxx.exe -p pycdc uncompyle6`\n\n- `-d/--decompile_file` specified which file(s) to decompile for a faster run\n\n`pydumpck xxx.exe -d main` for only target `main.py`\n\n`pydumpck xxx.exe -d main lib_base64 secert` for targets `main.py` and `lib_base64.py` and `secert.py`\n\n\n\n## Demo\n\n- pyc with header been tampered with\n  - (Warning:gif with size 5MB)![pyc-fix_header-demo](https://raw.githubusercontent.com/serfend/res.image.reference/main/pyc-fix_header-demo.gif)\n\n\n\n## Notice\n\n\u003e `pycdc` speed is more than 10 times faster than `uncompyle6` , and `uncompyle6` is not support for python that version above 3.8.\n\u003e\n\u003e however `pycdc` sometimes return a not precisely right result.\n\u003e\n\u003e in pydumpck , you can use `--plugin uncompyle6` for single-use or `--plugin pycdc uncompyle6` for both-use.\n\n\n\n## Status\n\n![Alt](https://repobeats.axiom.co/api/embed/013759c6315338178a2643de0bca01826fb39a14.svg \"Repobeats analytics image\")\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserfend%2Fpydumpck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserfend%2Fpydumpck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserfend%2Fpydumpck/lists"}