Metadata-Version: 2.4
Name: pyinstxtractor-ng
Version: 2026.4.7
Summary: PyInstaller Extractor Next Generation
License-Expression: GPL-3.0-only
License-File: LICENSE
Author: extremecoders-re
Requires-Python: >=3.8
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: pycryptodome (==3.17)
Requires-Dist: xdis (==6.3.0)
Description-Content-Type: text/markdown

# pyinstxtractor-ng

pyinstxtractor-ng is a tool to extract the contents of a Pyinstaller generated executable file. Both Linux ELFs and Windows PE executables are supported.

This project is a fork of [pyinstxtractor](https://github.com/extremecoders-re/pyinstxtractor).

pyinstxtractor-ng uses the [xdis](https://github.com/rocky/python-xdis/) library to unmarshal Python bytecode and as a result there is NO requirement to use the same Python version which was used to build the executable.

pyinstxtractor-ng also supports automatic decryption of encrypted pyinstaller executables.

## Usage

Precompiled binaries for Linux and Windows are provided in [releases](https://github.com/pyinstxtractor/pyinstxtractor-ng/releases). 
These are generated using PyInstaller itself, so you don't even need a Python installation to run pyinstxtractor-ng

```
PyInstaller Extractor NG

positional arguments:
  filename       Path to the file to extract

optional arguments:
  -h, --help     show this help message and exit
  -d, --one-dir  One directory mode, extracts the pyz to the same directory
  -i, --info      Display PyInstaller archive information without extracting files
```

Pass the exe filename as an argument or drag & drop the pyinstaller exe file over pyinstxtractor.ng icon on Windows.
```
$ ./pyinstxtractor-ng <filename>
X:\> pyinstxtractor-ng <filename>
```

The `--one-dir` mode extracts the pyz in the same directory as the executable. This is useful if you want to run the extracted files straight-away.

```
X:\> pyinstxtractor-ng --one-dir main.exe
X:\> cd main.exe_extracted
X:\main.exe_extracted\> python main.py
```
The `--info` or `-i` option prints metadata about the PyInstaller archive without writing any extracted files to disk.
This is useful for quick inspection and debugging.
```
$ ./pyinstxtractor-ng --info <filename>
X:\> pyinstxtractor-ng -i <filename>
```
## See Also

- [pyinstxtractor-web](https://pyinstxtractor-web.netlify.app/): pyinstxtractor running in the web browser, powered by Go & GopherJS.

## License

GNU General Public License v3.0
