/PSVitaNPDRMDecryptor

This program allows batch decryption of NPDRM encrypted PSVita titles.

Primary LanguageC#

PSVita NPDRM Decryptor GitHub all releases

Program Screenshot

Features

  • Straightforward GUI to decrypt NPDRM protected apps/patches/addcont:
    • Easier modding
    • Allows all apps to run on all firmware versions
    • Removes the need of plugins like NoNpDrm
    • Full control over the content you own

Software Requirements

Usage

If you have a PKG file and not a NPDRM app in folder format you'll first need to extract the PKG with "pkg2zip.exe" or similar by providing the correct zRIF.

  • Use the + button or drag & drop encrypted folders, select the output directory and click the blue arrow
  • Adjust the options in the checkboxes to your liking
  • Remove highlighted folders with the X button

Follow the Input Folder Search Structure section below to setup your input folders correctly with patches and addcont.

The program will search for patches/addcont only when decrypting the main app with the specified folder setup.

Patches and additional content can still be decrypted separately.

Installing decrypted applications

  • App (WITHOUT head.bin)
    • Copy the app's VPK/folder to the PSVita (NOT inside ux0:app)
    • (VPK) Open VitaShell and install the package
    • (Folder) Open VitaShell and press △ on the app folder and choose More -> Install folder
    • Accept extended permissions
  • App (WITH head.bin)
    • Copy the app folder to ux0:app/... (where you would normally place NPDRM content)
    • Return to the home screen in VitaShell (where it shows os0:, ur0:, ux0: etc.), press △ and choose Refresh LiveArea™
  • Patch
    • Merge with main app or use rePatch
  • Additional content
    • Use rePatch

For now app installation must be done through VitaShell because we need to generate a fake head.bin to display the app in the livearea.

Installing decrypted applications (rePatch)

Input Folder Search Structure

├───addcont
│   └───TITLE_ID
│   │   └───DLC_FOLDER
├───patch
│   └───TITLE_ID
├───app (any name or TITLE_ID)
│   └───eboot.bin
│   └───...

Input Folder Search Structure Image

Troubleshooting

  • "My app says it's a trial"
  • "DLCs don't work"
  • "I can't install the decrypted app, VitaShell throws and error"
    • Delete the NPDRM version. If that doesn't work, manually delete the folders with the TitleID of the game in ux0:app, ux0:patch, ux0:addcont, ux0:appmeta and reboot.
      Also check if you have the head.bin file inside app\sce_sys\package and follow the instructions decribed above.
  • "The program doesn't recognize a patch folder"
    • If you are trying to decrypt a single patch without the main app in the structure described above, you'll need to copy the original work.bin of the main app (app\sce_sys\package\work.bin) and place it inside the patch folder: patchTitleID\sce_sys\package\work.bin. Additional contents have their own work.bin, so you don't need the original one for DLC decryption.
  • "Some apps decrypt incorrectly / don't function properly"
    • Open an issue and I'll look into it, some apps are known to cause issues.

Changelog

v1.0.1

  • Improved UI
  • Added options to output rePatch folders, copy original head.bin to the decrypted app and show terminal during decryption.
  • Miscellaneous improvements

v1.0

  • Initial release

TODO

  • Add proper support for gdc apps (e.g. Reader™ [PCSC80012]) See: GBAtemp

Credits