More actions
No edit summary |
No edit summary |
||
(6 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 16: | 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== | ||
* 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=== | |||
<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, | |||
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.</pre> | |||
==Screenshots== | ==Screenshots== | ||
https://dlhb.gamebrew.org/vitahomebrews/ | https://dlhb.gamebrew.org/vitahomebrews/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 <code>output_folder/sce_sys/packages/*.bin</code>. | |||
'''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 == | == 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.