A Windows tool for PS Vita firmware packages

psvitapupextractor v0.1.0 is a Windows utility for unpacking PlayStation Vita firmware update files in PUP format. Its graphical interface covers the project’s extraction pipeline, from splitting the SCEUF container to processing firmware system files and modules.

The project is a native C# port of Team Molecule’s sceutils tooling. It is intended for reverse-engineering and homebrew work involving firmware that users own, rather than for running software on the PS Vita itself. The tool runs on the .NET Framework 4.x included with Windows.

Automatic fallback across three key sets

For each SCE file, psvitapupextractor tries three embedded key sets in sequence: External GEN2, Internal GENX, then External GEN3. It checks the decrypted metadata padding to determine whether a key set worked, so users do not have to select a package family manually.

The same build handles proto, internal and retail packages through one workflow. It also accounts for firmware-aware second_loader and secure_kernel encryption, including the difference between firmware 3.70 and later versions and earlier firmware.

What the extraction pipeline handles

The utility can split the firmware container, decrypt SCE packages, convert self-contained loaders to ELF, and decrypt SLB2 data. It also joins and extracts the os0 and vs0 filesystems, then recursively decrypts system modules with .self, .skprx and .suprx extensions to ELF files.

SLB2 processing includes the nsbl.bin step through the supplied unarzl helper. The helper must be placed next to the psvitapupextractor_gui.exe program for that step to work.

Batch processing and optional filesystem extraction

The GUI includes input-folder and output-folder fields for batch work. It processes every PUP file in the selected input folder and creates a separate output directory named after each file with the _ex suffix. This allows several firmware packages to be processed in one operation.

Users can enable optional vs0 and vd0 extraction through a checkbox. These filesystem images can be large, so the option can remain disabled when they are not needed. The SLB2 stage is optional as well.

External helper support

For FAT os0 and vs0 images, the tool can use 7-Zip when it is installed at the standard Windows location. If 7-Zip is unavailable, os0.bin and vs0.bin remain as raw images rather than being extracted through that helper.

The release also includes unarzl.exe, a prebuilt helper for the nsbl.bin operation. The project provides unarzl.c and a Makefile for users who want to rebuild that helper.

What is included in v0.1.0

The v0.1.0 release was published on October 18, 2026. Its release notes contain no itemized changes, so the documented feature overview comes from the project README rather than a detailed change log.

The listed release files are psvitapupextractor_gui.zip and unarzl.exe. The project keeps the MIT license and credits Team Molecule’s sceutils for the format logic, processing pipeline and key sets used in the port.

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