Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Pkg2zip Vita: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 1: Line 1:
{{cleanup|article|Needs cleanup}}
{{#seo:
{{#seo:
|title=Vita Homebrew PC Tools (PC Utilities) - GameBrew!
|title=Vita Homebrew PC Tools (PC Utilities) - GameBrew!
Line 19: Line 18:
|source=https://github.com/mmozeiko/pkg2zip
|source=https://github.com/mmozeiko/pkg2zip
}}
}}
'''pkg2zip''' is an utility that decrypts PlayStation Vita pkg file and creates zip package. Optionally saves NoNpDrm license into work.bin file. You must provide license key.
'''Pkg2zip''' is an utility that decrypts PlayStation Vita pkg file and creates zip package. Optionally saves NoNpDrm license into work.bin file. You must provide license key.


== What is pkg2zip all about? ==
== What is pkg2zip all about? ==

Revision as of 00:03, 19 November 2022

pkg2zip
File:Pkg2zipvita.jpg
General
Authormmozeiko
TypePC Utilities
Version1.8
LicenseUnlicense
Last Updated2017/11/17
Links
Download
Source

Pkg2zip is an utility that decrypts PlayStation Vita pkg file and creates zip package. Optionally saves NoNpDrm license into work.bin file. You must provide license key.

What is pkg2zip all about?

Pkg2zip, an utility that decrypts PlayStation Vita pkg file and creates zip package. Supported pkg files - main application, DLC, patch and PSM files. Also supports PSX and PSP pkg files for use with Adrenaline.

Optionally writes NoNpDrm or NoPsmDrm fake license file from zRIF string. You must provide license key.

Requirements

Features

  • portable, written in cross-platform C code, runs on Windows, GNU/Linux, macOS (system dependent functionality is isolated in sys.c file).
  • small, has no external library dependencies and uses very minimal dynamic memory allocations.
  • fast, uses AESNI hardware accelerated AES decryption if supported by CPU (requires AESNI and SSSE3 instructions).
  • simple, creates zip package with same folder structure that Vita expects (just drag & drop all file from zip archive to ux0:). Zip file is created directly from pkg without any intermediate temporary files.
  • Vita DLC, Vita PATCH and PSM pkg unpacking.
  • PSX and PSP pkg unpacking.

Limitations:

  • no PSP DLC pkg files are supported.
  • no actual title name is extracted for PSM pkg files.

Media

Screenshot

File:Pkg2zipvita.jpg

How To Use Pkg2zip

If you have zRIF fake license, then execute:

pkg2zip package.pkg zRIF_STRING

This will create title [id] [region].zip file. Title, ID and region is automatically detected from pkg file. It will include work.bin file.

If you don't have zRIF fake license, but just want to unpack files, then omit last argument:

pkg2zip package.pkg

Resulting zip file will not include work.bin. This is useful for patch pkg files.

To get output file name of the zip, use -l (must come before pkg file and cannot be used with -x):

pkg2zip -l package.pkg

To avoid zipping process and create individual files, use -x argument (must come before pkg file):

pkg2zip -x package.pkg [zRIF_STRING]

PSX or PSP pkg files do not require zRIF argument. It will be ignored.

For PSP files pkg2zip by default will create .ISO file. To create compressed .CSO file pass -cN argument where N is compression factor. For example, for fastest compression use:

pkg2zip -c1 package.pkg

To create smaller cso file (more compression will require more time) use -c9, or anything inbetween:

pkg2zip -c9 package.pkg

You can combine -cN argument together with -x:

pkg2zip -x -c9 package.pkg

Generating zRIF string

If you have working NoNpDrm license file (work.bin or 6488b73b912a753a492e2714e9b38bc7.rif) you can create zRIF string with rif2zrif.py python script:

$ python rif2zrif.py path/to/work.bin

It will print zRIF string to stdout.

To generate work.bin from zRIF string use zrif2rif.py script:

$ python zrif2rif.py zRIF work.bin

Last argument is optional, it specifies where to save file and defaults to work.bin name.

Alternatives

Compiling Pkg2zip

Execute make if you are on GNU/Linux or macOS.

On Windows you can build either with MinGW (get MinGW-w64) or Visual Studio 2017 Community Edition.

  • for MinGW make sure you have make installed, and then execute mingw32-make
  • for Visual Studio run build.cmd

Changelog

(v.1.8)

  • support PSP pkg file unpacking, including NeoGeo, Mini, Go, PC Engine pkg files
  • unpack PSP pkg files to ISO or CSO
  • better output with UTF-8 encoding on Windows for title names
  • show unpacking progress in percents

(v.1.7)

  • fix issue with patch file unpacking in -x mode

(v.1.6)

  • much faster zip file creation - depending on CPU and disk speed it is now ~2 to 3 times faster
  • add -x argument which makes unpacking files in extracted form - with same layout as ux0
  • unpacking PSM pkg files for use with NoPsmDrm
  • unpacking PSX pkg files for use with Adrenaline
  • unpacking PSP pkg files. Result is not yet directly usable on Vita - it produces EBOOT.PBP which requires to be unpacked further with different 3rd party tool

(v.1.5)

  • adjust size of tail.bin - now it uses all remaining data after encrypted blob

(v.1.4)

  • add support for DLC and PATCH pkg file unpacking
  • supports unlimited amount of files inside zip file
  • fix for zip files larger than 4GB
  • drop support for dummy work.bin generation (without key inside)
  • drop support for hexkey argument to try generate work.bin

(v.1.3)

  • fix a bug when wrong title id was put in work.bin when generating it from raw key
  • display minimum required firmware version to run the game
  • verify integrity of zRIF before starting to unpack pkg file, and display error if it is not correct zRIF
  • allow utf-8 characters in automatic zip filename, useful for non-english game names
  • increase limit of max allowed files in zip file

(v.1.2)

  • support zRIF strings for generating work.bin file
  • add rif2zrif python script to create zRIF string
  • identify PCSD prefix as JPN region

(v.1.1)

  • fixes wrong head.bin when it is larger than 64KB

(v.1.0)

  • First Release.

License

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

External links

Advertising: