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

PkgDecrypt Vita: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
{{#seo:
|title=Vita Homebrew PC Tools (PC Utilities) - GameBrew!
|title=Vita Homebrew PC Tools (PC Utilities) - GameBrew
|title_mode=append
|title_mode=append
|image=pkgdecryptvita.jpg
|image=pkgdecryptvita2.png
|image_alt=PkgDecrypt
|image_alt=PkgDecrypt
}}
}}
{{Infobox Vita Homebrews
{{Infobox Vita Homebrews
|title=PkgDecrypt
|title=PkgDecrypt
|image=pkgdecryptvita.jpg
|image=pkgdecryptvita2.png
|description=PKG decrypter and extractor
|description=PKG decrypter and extractor.
|author=st4rk & weaknespase
|author=st4rk, weaknespase
|lastupdated=2017/09/25
|lastupdated=2017/09/25
|type=PC Utilities
|type=PC Utilities
Line 15: Line 15:
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/vitahomebrews/pkgdecryptvita.7z
|download=https://dlhb.gamebrew.org/vitahomebrews/pkgdecryptvita.7z
|website=
|website=https://twitter.com/st4rkdev/status/803485355353767936
|source=https://github.com/st4rk/PkgDecrypt
|source=https://github.com/st4rk/PkgDecrypt
}}
}}
'''PkgDecrypt''' is a command line tool to decrypt and extract PSVITA .pkg files.
PkgDecrypt is a command line tool to decrypt and extract PS Vita .pkg files.


== Features ==
==Features==
* 1:1 file extraction,
* 1:1 file extraction.
* Support for klicensee and zRIF keys for work.bin 1:1 recreation,
* Support for klicensee and zRIF keys for work.bin 1:1 recreation.
* Can either extract PKG or decrypt it into PKGS file,
* Can either extract PKG or decrypt it into PKGS file.
* Different output hierarchies can be chosen for easy transfer to VITA.
* Different output hierarchies can be chosen for easy transfer to Vita.


== Requirements ==
==User guide==
* Windows x64(for precompiled build) or other supported OS,
===Requirements===
* a)Vita with 3.60 henkaku, PKG file and license key[klicensee(deprecated) or zRIF(recommended)] for Vita installation,
* Windows x64 (for precompiled build) or other supported OS.
* b)PKG file for extraction purposes only.
* a) Vita with 3.60 henkaku, PKG file and license key [klicensee(deprecated) or zRIF(recommended)] for Vita installation,
* b) PKG file for extraction purposes only.


=== Dependencies ===
===Dependencies===
* zlib
* zlib.


==How To Use PkgDecrypt?==
===How To Use PkgDecrypt===
<pre>pkg_dec [--make-dirs=id|ux] [--license=&lt;key&gt;] [--raw] filename.pkg [output_directory]
<pre>pkg_dec [--make-dirs=id|ux] [--license=&lt;key&gt;] [--raw] filename.pkg [output_directory]
     --make-dirs=id|ux  Use output directory to create special hierarchy,
     --make-dirs=id|ux  Use output directory to create special hierarchy,
Line 46: Line 47:
     &lt;output_directory&gt;    Directory where all files will be places. Current directory by default.</pre>
     &lt;output_directory&gt;    Directory where all files will be places. Current directory by default.</pre>


==ToDo list ==
==Screenshots==
* Fix DLC extraction,
https://dlhb.gamebrew.org/vitahomebrews/pkgdecryptvita3.png
 
==Media==
<youtube>IyDjNlyQYBY</youtube>
 
==Screenshot==
[[image:pkgdecryptvita.jpg|600px]]


==Changelog==
==Changelog==
Line 59: Line 54:


New features:
New features:
 
* Support of generating fake RIFs from hex-encoded klicensee and zRIFs.
* Support of generating fake RIFs from hex-encoded klicensee and zRIFs
* Unpacking files using ux0 hierarchy emulation.
* Unpacking files using ux0 hierarchy emulation
* Automatic recognition of DLC and GD packages (using pkg_info fields).
* Automatic recognition of DLC and GD packages (using pkg_info fields)
* make_key program to pack fake RIFs into zRIF format.
* make_key program to pack fake RIFs into zRIF format


Major refactoring of code:
Major refactoring of code:
 
* Split code over few modules, for example, key encoding and decoding done using keyflate.c.
* Split code over few modules, for example, key encoding and decoding done using keyflate.c
* Few utility functions (mkdirs and set of pkg_* functions mirroring stdio with transparent decryption).
* Few utility functions (mkdirs and set of pkg_* functions mirroring stdio with transparent decryption)
* Improved code readability with structs defining various structures in pkg file.
* Improved code readability with structs defining various structures in pkg file


Bugfixes:
Bugfixes:
 
* Generated head.bin now have proper file size.
* Generated head.bin now have proper file size,
* Attempted to fix sku_flag value using drm_type of package (different solution from temp.bin).
* Attempted to fix sku_flag value using drm_type of package (different solution from temp.bin),
* Other bugfixes.
* Other bugfixes.


'''1.0.0.3'''
'''1.0.0.3'''
 
* Added full support for license keys, now if you use license key it will generate fully working work.bin file.
* Added full support for license keys, now if you use license key it will generate fully working work.bin file,
* Added check for license, if license is not used, file work.bin will not be generated at all.
* Added check for license, if license is not used, file work.bin will not be generated at all,
* All *.bin files are now generated in proper location <code>output_folder/sce_sys/packages/*.bin</code>.
* All *.bin files are now generated in proper location <code>output_folder/sce_sys/packages/*.bin</code>


'''1.0.0.2 '''
'''1.0.0.2 '''
* Fixed Windows extraction, now it extract 1:1 files.
* Fixed Windows extraction, now it extract 1:1 files.


'''1.0.0.1 '''
'''1.0.0.1 '''
 
* St4rk's support for *.bin files.
* St4rk's support for *.bin files


'''1.0.0.0 '''
'''1.0.0.0 '''
* St4rk Initial code.


* St4rk Initial code
==Credits==
 
Thanks:
==Thanks==
*St4rkDev for his wonderful code,
*St4rkDev for his wonderful code,
*TheRadziu for PR, team management and testing,
*TheRadziu for PR, team management and testing,
Line 103: Line 92:


== External links ==
== External links ==
* Github - https://github.com/st4rk/PkgDecrypt
* Twitter - https://twitter.com/st4rkdev/status/803485355353767936
* Twitter - https://twitter.com/St4rkDev/status/909988553316343809
* GitHub - https://github.com/st4rk/PkgDecrypt
* VitaDB - https://vitadb.rinnegatamante.it/#/info/321
* VitaDB - https://vitadb.rinnegatamante.it/#/info/321

Latest revision as of 14:13, 13 Ocak 2023

PkgDecrypt
Pkgdecryptvita2.png
General
Authorst4rk, weaknespase
TypePC Utilities
Version1.1
LicenseMIT License
Last Updated2017/09/25
Links
Download
Website
Source

PkgDecrypt is a command line tool to decrypt and extract PS Vita .pkg files.

Features

  • 1:1 file extraction.
  • Support for klicensee and zRIF keys for work.bin 1:1 recreation.
  • Can either extract PKG or decrypt it into PKGS file.
  • Different output hierarchies can be chosen for easy transfer to Vita.

User guide

Requirements

  • Windows x64 (for precompiled build) or other supported OS.
  • a) Vita with 3.60 henkaku, PKG file and license key [klicensee(deprecated) or zRIF(recommended)] for Vita installation,
  • b) PKG file for extraction purposes only.

Dependencies

  • zlib.

How To Use PkgDecrypt

pkg_dec [--make-dirs=id|ux] [--license=<key>] [--raw] filename.pkg [output_directory]
    --make-dirs=id|ux   Use output directory to create special hierarchy,
                id  places all output in the <CONTENTID> folder
                ux  places all output in ux0-style hierarchy
    --license=<key>       Provide key to use as base for work.bin (*.rif) file creation.
                Two formats accepted - klicensee key (deprecated) and zRIF (recommended)
                zRIF could be made by NoNpDrm fake RIFs using make_key
    --raw           Output fully decrypted PKG instead of unpacking it, exclusive
    <filename.pkg>        Input PKG file
    <output_directory>    Directory where all files will be places. Current directory by default.

Screenshots

pkgdecryptvita3.png

Changelog

1.1.0.0

New features:

  • Support of generating fake RIFs from hex-encoded klicensee and zRIFs.
  • Unpacking files using ux0 hierarchy emulation.
  • Automatic recognition of DLC and GD packages (using pkg_info fields).
  • make_key program to pack fake RIFs into zRIF format.

Major refactoring of code:

  • Split code over few modules, for example, key encoding and decoding done using keyflate.c.
  • Few utility functions (mkdirs and set of pkg_* functions mirroring stdio with transparent decryption).
  • Improved code readability with structs defining various structures in pkg file.

Bugfixes:

  • Generated head.bin now have proper file size.
  • Attempted to fix sku_flag value using drm_type of package (different solution from temp.bin).
  • Other bugfixes.

1.0.0.3

  • Added full support for license keys, now if you use license key it will generate fully working work.bin file.
  • Added check for license, if license is not used, file work.bin will not be generated at all.
  • All *.bin files are now generated in proper location output_folder/sce_sys/packages/*.bin.

1.0.0.2

  • Fixed Windows extraction, now it extract 1:1 files.

1.0.0.1

  • St4rk's support for *.bin files.

1.0.0.0

  • St4rk Initial code.

Credits

Thanks:

  • St4rkDev for his wonderful code,
  • TheRadziu for PR, team management and testing,
  • Atrexia for supporting us with this idea,
  • FatalErrorX for providing me with all files necessary for debug and PoC testing,
  • Brandonheat8 for the icon.

External links

Advertising: