More actions
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= | |image=pkgdecryptvita2.png | ||
|image_alt=PkgDecrypt | |image_alt=PkgDecrypt | ||
}} | }} | ||
{{Infobox Vita Homebrews | {{Infobox Vita Homebrews | ||
|title=PkgDecrypt | |title=PkgDecrypt | ||
|image= | |image=pkgdecryptvita2.png | ||
|description=PKG decrypter and extractor | |description=PKG decrypter and extractor. | ||
|author=st4rk | |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 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 | * 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=<key>] [--raw] filename.pkg [output_directory] | <pre>pkg_dec [--make-dirs=id|ux] [--license=<key>] [--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: | ||
<output_directory> Directory where all files will be places. Current directory by default.</pre> | <output_directory> Directory where all files will be places. Current directory by default.</pre> | ||
== | ==Screenshots== | ||
https://dlhb.gamebrew.org/vitahomebrews/pkgdecryptvita3.png | |||
==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. | |||
==Credits== | |||
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 == | ||
* | * 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 | |
---|---|
General | |
Author | st4rk, weaknespase |
Type | PC Utilities |
Version | 1.1 |
License | MIT License |
Last Updated | 2017/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
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.