A Windows tool for unpacking PS Vita firmware

psvitapupextractor v0.1.1 is a Windows utility for unpacking PlayStation Vita firmware update files. Its graphical interface covers the main extraction pipeline, from splitting the SCEUF container through decrypting packages and extracting firmware filesystems.

The project is a native C# port of Team Molecule’s sceutils tooling. During extraction, it can recursively decrypt system modules with .self, .skprx and .suprx extensions into ELF files.

Automatic key selection is the main feature

The extractor includes three embedded key sets and tests them in sequence for each SCE file: proto, internal and external. It checks the resulting metadata padding to determine which key successfully decrypted the package, so users do not need to select a keyset manually for proto, internal or retail packages.

The tool also uses firmware-aware handling for the encrypted second_loader and secure_kernel files. The documented key handling accounts for the difference between firmware 3.70 and later releases and earlier versions.

The full extraction pipeline

The documented pipeline splits the update container, decrypts SCE packages, converts loaders with self2elf, decrypts SLB2 data and extracts the os0 and vs0 filesystems. It then recursively decrypts system modules into ELF files.

SLB2 processing includes the nsbl.bin step through the accompanying unarzl helper. The interface also offers optional vs0 and vd0 extraction, which can create larger output, along with an option to enable or skip the SLB2 step.

Batch processing for firmware collections

The graphical interface includes separate input-folder and output-folder fields for batch work. It processes every PUP file in the input folder and places each result in its own folder using the source name followed by _ex.

This gives users a way to process several firmware updates without selecting each file individually. The published v0.1.1 notes contain only the release identifier and timestamp, so they do not list additional version-specific fixes or feature changes.

Included helper and Windows requirements

The v0.1.1 build was published on October 18, 2026, under the exact tag v0.1.1. The release lists psvitapupextractor_gui.zip and unarzl.exe as downloadable assets. The project documentation says the release ZIP contains the graphical executable and unarzl.exe helper.

unarzl.exe must be placed beside psvitapupextractor_gui.exe for the nsbl.bin extraction step. The tool can also use 7-Zip when it is installed at C:\Program Files\7-Zip\7z.exe. 7-Zip extracts the FAT os0 and vs0 images; if it is unavailable, the corresponding os0.bin and vs0.bin files remain raw.

The application runs on the .NET Framework 4.x included with Windows. The README presents that as the runtime environment for the Windows tool, while separate build instructions cover compiling the project from source.

What this release provides

psvitapupextractor v0.1.1 provides a Windows workflow for examining PS Vita firmware updates, with automatic package-key fallback, optional filesystem stages, recursive system-module decryption and folder-based batch processing. The available release materials document these capabilities but do not identify additional v0.1.1-specific changes beyond the published build.

The project retains the MIT license and credits Team Molecule’s sceutils for the format logic, extraction pipeline and key-set work behind the port.

psvitapupextractor editorial illustration
AI-generated editorial illustration; not an application screenshot.