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

Psvimgtools Vita: Difference between revisions

From GameBrew
m (Text replacement - "GameBrew!" to "GameBrew")
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 2: Line 2:
|title=Vita Homebrew PC Tools (PC Utilities) - GameBrew
|title=Vita Homebrew PC Tools (PC Utilities) - GameBrew
|title_mode=append
|title_mode=append
|image=psvimgtoolsbyyifanluvita.jpg
|image=psvimgtoolsvitayif2.png
|image_alt=psvimgtools by yifanlu
|image_alt=psvimgtools
}}
}}
{{Infobox Vita Homebrews
{{Infobox Vita Homebrews
|title=psvimgtools by yifanlu
|title=psvimgtools
|image=psvimgtoolsbyyifanluvita.jpg
|image=psvimgtoolsvitayif2.png
|description=Vita CMA backups decrypter/encrypter.
|description=Vita CMA backups decrypter/encrypter.
|author=yifanlu
|author=yifanlu
Line 14: Line 14:
|version=0.1
|version=0.1
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/vitahomebrews/psvimgtoolsbyyifanluvita.7z
|download=https://dlhb.gamebrew.org/vitahomebrews/psvimgtoolsvitayif.7z
|website=
|website=https://yifan.lu/2017/02/19/psvimgtools-decrypt-vita-backups/
|source=https://github.com/yifanlu/psvimgtools
|source=https://github.com/yifanlu/psvimgtools
}}
}}
'''Psvimgtools''' is a set of tools that let you decrypt, extract, and repack Vita CMA backup images. To use this you need your backup key which is tied to your PSN AID.
psvimgtools is a set of tools that let you decrypt, extract, and repack Vita CMA backup images. To use this you need your backup key which is tied to your PSN AID.


'''Note:''' The Linux version requires '''libgcrypt''' to be installed.
'''Note:''' The Linux version requires libgcrypt to be installed.
 
==User guide==
Run the tool without any arguments to see how to use it.  


== Usage ==
=== psvimg-extract ===
=== 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).
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).
Line 44: Line 46:
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.
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.


==Media==
=== psvimg-keyfind ===
<youtube>66tQQZsI6oo</youtube>
 
==Screenshot==
[[image:psvimgtoolsbyyifanluvita.jpg|600px]]
 
== psvimg-keyfind ==
This is a brute-force backup key find tool. You should generate a valid <code>partials.bin</code> file using the provided &quot;dump_partials&quot; Vita homebrew that runs on HENkaku enabled consoles. You can generate partials for other people as well if you know their AID.
This is a brute-force backup key find tool. You should generate a valid <code>partials.bin</code> file using the provided &quot;dump_partials&quot; Vita homebrew that runs on HENkaku enabled consoles. You can generate partials for other people as well if you know their AID.


Line 56: Line 52:


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.
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.
== Building pPsvimgtools==
You should have <code>cmake</code> and <code>zlib</code> installed. To enable hardware accelerated crypto, make sure <code>libgcrypt</code> is installed. Windows users should install either Cygwin or Bash on Ubuntu for Windows.
Then just run
<pre>mkdir build &amp;&amp; cd build
cmake ..
make</pre>
==Changelog==
'''(v.0.1)'''
* First Release.


== External links ==
== External links ==
* Github - https://github.com/yifanlu/psvimgtools
* Author's website - https://yifan.lu/2017/02/19/psvimgtools-decrypt-vita-backups/
* GitHub - https://github.com/yifanlu/psvimgtools
* VitaDB - https://vitadb.rinnegatamante.it/#/info/316
* VitaDB - https://vitadb.rinnegatamante.it/#/info/316

Latest revision as of 09:37, 13 Ocak 2023

psvimgtools
Psvimgtoolsvitayif2.png
General
Authoryifanlu
TypePC Utilities
Version0.1
LicenseMIT License
Last Updated2017/02/20
Links
Download
Website
Source

psvimgtools is a set of tools that let you decrypt, extract, and repack Vita CMA backup images. To use this you need your backup key which is tied to your PSN AID.

Note: The Linux version requires libgcrypt to be installed.

User guide

Run the tool without any arguments to see how to use it.

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.

External links

Advertising: