More actions
m (HydeWing moved page Psvimgtools By Soarqin Vita to Psvimgtools Mod Vita without leaving a redirect) |
No edit summary |
||
(2 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=psvitapc2.png | ||
|image_alt=psvimgtools by soarqin | |image_alt=psvimgtools by soarqin | ||
}} | }} | ||
{{Infobox Vita Homebrews | {{Infobox Vita Homebrews | ||
|title=psvimgtools by soarqin | |title=psvimgtools by soarqin | ||
|image= | |image=psvitapc2.png | ||
|description=Decrypt Vita CMA backups. | |description=Decrypt Vita CMA backups. Original by Yifan Lu. | ||
|author=soarqin | |author=soarqin | ||
|lastupdated=2019/08/28 | |lastupdated=2019/08/28 | ||
Line 15: | Line 14: | ||
|version=0.1-mod | |version=0.1-mod | ||
|license=MIT | |license=MIT | ||
|download=https://dlhb.gamebrew.org/vitahomebrews/ | |download=https://dlhb.gamebrew.org/vitahomebrews/psvimgtoolsmodvita.7z | ||
|website= | |website=https://www.reddit.com/r/vitahacks/comments/bm4tim/psvimgtools_mod/ | ||
|source=https://github.com/soarqin/psvimgtools | |source=https://github.com/soarqin/psvimgtools | ||
}} | }} | ||
This is a mod of [[Psvimgtools Vita|psvimgtools]] which can be native compiled on win32 and can use -A option to pass account id directly (which strips use of cma.henkaku.xyz generating keys). | |||
== | ==User guide== | ||
< | ===psvimg-extract=== | ||
This is used to extract <code>.psvimg</code> files. The extracted output includes a directory for each backup set (e.g: <code>ur0:appmeta</code>, <code>ux0:iconlayout.ini</code>, and <code>ur0:tmp/registry</code> are three separate sets). Each backup set contains zero or more files and directories. | |||
A special file <code>VITA_PATH.TXT</code> is created for each set to remember what the original path was before extraction (this is used for repacking). A set can be only a single file (for example <code>ux0:iconlayout.ini</code>). In that case, the file <code>VITA_DATA.BIN</code> is created to host the contents of the file. | |||
== | ===psvmd-decrypt === | ||
This decrypts and decompresses <code>.psvmd</code> files. The contents of which are defined in <code>psvimg.h</code>. | |||
== | This contains information such as the firmware version of the system that created the backup and the unique PSID of the system. | ||
''' | |||
* | Extracting this file is not required for repacking and is provided for reverse engineering/debugging purposes. | ||
=== psvimg-create === | |||
This repacks extracted files and creates the associated <code>.psvimg</code> and <code>.psvmd</code> files. If you have a "decrypted" <code>.psvmd</code>, you may pass it in with <code>-m</code> and the tool will reuse as many fields as possible (exception: size fields). No validity checks will be performed. | |||
If you do not have a decrypted <code>.psvmd</code>, you should use the <code>-n</code> option and specify the name of the backup. You should use the same name (the file name without the <code>.psvimg</code> extension) when repacking because CMA does check for a valid name. For example, if you are repacking <code>license.psvimg</code>, you should specify <code>-n license</code>. | |||
The pack input directory should follow the same format as the output of <code>psvimg-extract</code>. The means a separate directory for each backup set (there may only be one set, in which your input directory will contain one subdirectory) each with a <code>VITA_PATH.TXT</code> file specifying the Vita path and optionally a <code>VITA_DATA.BIN</code> file if the set is a file. | |||
Note that CMA does check the paths of the backup sets. Trying to add a backup set with a custom path may result in failure. | |||
===psvimg-keyfind === | |||
This is a brute-force backup key find tool. You should generate a valid <code>partials.bin</code> file using the provided "dump_partials" Vita homebrew that runs on HENkaku enabled consoles. You can generate partials for other people as well if you know their AID. | |||
The <code>partials.bin</code> file does not contain any console-unique information but is derived from the provided PSN AID. The AID is the 16 hex characters in your CMA backup path. For example, if I wish to decrypt <code>PS Vita/PGAME/xxxxxxxxxxxxxxxx/NPJH00053/game/game.psvimg</code> then my AID is <code>xxxxxxxxxxxxxxxx</code>. | |||
The <code>-n</code> option specifies the number of threads to run. On Linux, each thread tries to run on a separate processor. On OSX/Windows, it is up to the scheduler to make such decisions. You should not specify too high of a number here, as running multiple threads on a single CPU will result in diminishing returns. | |||
A good rule of thumb is to specify the number of CPU cores on your system. | |||
==Changelog== | |||
'''v0.1-mod''' | |||
*Added natvie compilation support for win32. | |||
*Enabled use of miniz to replace zlib. | |||
*Stripped use of libgcrypt and use an embedded implementation of aesni. | |||
*Added -A option for using account id directly. | |||
== External links == | == External links == | ||
* | * Author's website - https://www.soardev.com/blog/ | ||
* | * GitHub - https://github.com/soarqin/psvimgtools | ||
* Reddit - https://www.reddit.com/r/vitahacks/comments/bm4tim/psvimgtools_mod/ | |||
* Reddit - | |||
Latest revision as of 11:38, 14 Ocak 2023
psvimgtools by soarqin | |
---|---|
General | |
Author | soarqin |
Type | PC Utilities |
Version | 0.1-mod |
License | MIT License |
Last Updated | 2019/08/28 |
Links | |
Download | |
Website | |
Source | |
This is a mod of psvimgtools which can be native compiled on win32 and can use -A option to pass account id directly (which strips use of cma.henkaku.xyz generating keys).
User guide
psvimg-extract
This is used to extract .psvimg
files. The extracted output includes a directory for each backup set (e.g: ur0:appmeta
, ux0:iconlayout.ini
, and ur0:tmp/registry
are three separate sets). Each backup set contains zero or more files and directories.
A special file VITA_PATH.TXT
is created for each set to remember what the original path was before extraction (this is used for repacking). A set can be only a single file (for example ux0:iconlayout.ini
). In that case, the file VITA_DATA.BIN
is created to host the contents of the file.
psvmd-decrypt
This decrypts and decompresses .psvmd
files. The contents of which are defined in psvimg.h
.
This contains information such as the firmware version of the system that created the backup and the unique PSID of the system.
Extracting this file is not required for repacking and is provided for reverse engineering/debugging purposes.
psvimg-create
This repacks extracted files and creates the associated .psvimg
and .psvmd
files. If you have a "decrypted" .psvmd
, you may pass it in with -m
and the tool will reuse as many fields as possible (exception: size fields). No validity checks will be performed.
If you do not have a decrypted .psvmd
, you should use the -n
option and specify the name of the backup. You should use the same name (the file name without the .psvimg
extension) when repacking because CMA does check for a valid name. For example, if you are repacking license.psvimg
, you should specify -n license
.
The pack input directory should follow the same format as the output of psvimg-extract
. The means a separate directory for each backup set (there may only be one set, in which your input directory will contain one subdirectory) each with a VITA_PATH.TXT
file specifying the Vita path and optionally a VITA_DATA.BIN
file if the set is a file.
Note that CMA does check the paths of the backup sets. Trying to add a backup set with a custom path may result in failure.
psvimg-keyfind
This is a brute-force backup key find tool. You should generate a valid partials.bin
file using the provided "dump_partials" Vita homebrew that runs on HENkaku enabled consoles. You can generate partials for other people as well if you know their AID.
The partials.bin
file does not contain any console-unique information but is derived from the provided PSN AID. The AID is the 16 hex characters in your CMA backup path. For example, if I wish to decrypt PS Vita/PGAME/xxxxxxxxxxxxxxxx/NPJH00053/game/game.psvimg
then my AID is xxxxxxxxxxxxxxxx
.
The -n
option specifies the number of threads to run. On Linux, each thread tries to run on a separate processor. On OSX/Windows, it is up to the scheduler to make such decisions. You should not specify too high of a number here, as running multiple threads on a single CPU will result in diminishing returns.
A good rule of thumb is to specify the number of CPU cores on your system.
Changelog
v0.1-mod
- Added natvie compilation support for win32.
- Enabled use of miniz to replace zlib.
- Stripped use of libgcrypt and use an embedded implementation of aesni.
- Added -A option for using account id directly.
External links
- Author's website - https://www.soardev.com/blog/
- GitHub - https://github.com/soarqin/psvimgtools
- Reddit - https://www.reddit.com/r/vitahacks/comments/bm4tim/psvimgtools_mod/