Tool

pyinstxtractor-ng (PyInstaller Extractor Next Generation)

Fork of PyInstaller Extractor (pyinstxtractor) by the same author that extracts the bundled CArchive files and PYZ modules from Linux ELF and Windows PE executables built with PyInstaller, writing .pyc files with repaired headers for a separate bytecode decompiler. Unlike the original script, it unmarshals the PYZ archive with the xdis library, so it does not have to run under the Python version that built the executable, and it automatically decrypts PYZ entries that PyInstaller's optional AES encryption protected, using the key module bundled in the same executable. A one-directory mode extracts the PYZ next to the other files so the result can be run directly, and --info prints archive metadata such as versions, entry points and encryption without writing files.

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

Requirements & limits

  • Latest release at review: 2026.07.03, published 2026-07-03, with a Linux binary and a Windows .exe built by PyInstaller, so those builds need no Python installation; the same version is on PyPI as pyinstxtractor-ng 2026.7.3. The reviewed main commit is two commits ahead of that tag and only relaxes the pycryptodome requirement from exactly 3.17 to 3.19.1 or later below 4.
  • Running the script needs Python 3.8+, xdis pinned to 6.3.0 and pycryptodome; a leftover Poetry section in pyproject.toml still caps Python below 3.13. Release binaries come from a manually triggered workflow that builds with Python 3.8 and PyInstaller 5.10.1, and the repository has no tests or test executables.
  • The script header lists PyInstaller 2.0 through 5.10.1 as supported, and the README states no version range. Entries that can be neither decompressed nor decrypted are saved unchanged with an .encrypted suffix.
  • The PyInstaller executable comes from the user, and turning the recovered bytecode into source needs a separate decompiler. Recovered code remains subject to the rights of the original program’s owner.
  • GPL-3.0-only. Nothing was run.

About this entry

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · pyinstxtractor/pyinstxtractor-ng · Revision 1ed86cc
  2. pyinstxtractor_ng.py GitHub · pyinstxtractor/pyinstxtractor-ng · Revision 1ed86cc
  3. pyinstxtractor_ng.py#L1-L15 GitHub · pyinstxtractor/pyinstxtractor-ng · Revision 1ed86cc
  4. pyproject.toml GitHub · pyinstxtractor/pyinstxtractor-ng · Revision 1ed86cc
  5. requirements-dev.txt GitHub · pyinstxtractor/pyinstxtractor-ng · Revision 1ed86cc
  6. .github/workflows/build.yaml GitHub · pyinstxtractor/pyinstxtractor-ng · Revision 1ed86cc
  7. LICENSE GitHub · pyinstxtractor/pyinstxtractor-ng · Revision 1ed86cc
  8. https://github.com/pyinstxtractor/pyinstxtractor-ng/releases/tag/2026.07.03
  9. https://pypi.org/project/pyinstxtractor-ng/2026.7.3/
  10. README.md GitHub · extremecoders-re/pyinstxtractor · Revision 815d31c

More in Native binaries

All 121 entries in Native binaries