GcToolKit/README.md

45 lines
2.1 KiB
Markdown
Raw Normal View History

2024-02-04 13:46:14 +00:00
# GcToolKit
2024-01-21 12:21:32 +00:00
2024-02-04 13:46:14 +00:00
Tool to create 1:1 backups of PSV Game Cartridges
including CMD56 authenticationd data.
This can also be used to format, backup and restore the writable grw0 and mediaid sections of gamecarts.
2024-01-27 01:09:31 +00:00
This writes *.vci* files, (vita cartridge image) which is essentially
cmd56 authentication data + raw image of gc
2024-02-04 13:46:14 +00:00
Can run a backup over the network, to a offical memory card,
a USB device connected to a Vita TV or OTG on Vita 2k, or Accessory Port on Vita 1K
or host0 on Development Kits.
2024-01-27 01:54:11 +00:00
2024-02-04 13:40:00 +00:00
-- Credit
2024-02-04 13:41:42 +00:00
- <sup>The Crystal System</sup> Li- Programming the thing, VCI Format, Reverse engineering gamecart CMD56
2024-02-04 13:40:00 +00:00
- olebeck - CMD56 helps
- Robots System - Selecting music, choosing port numbers, ~~emotional support~~
- Princess of Sleeping - ExFAT Format code, CMD56 helps
- SKGLeba - psp2spl for F00D Code execution
- dots_tb - USB OTG
- EA Games 1997 - BGM Music from Dungeon Keeper 1 https://www.youtube.com/watch?v=RXfUV_z7i0c
2024-02-04 13:41:42 +00:00
-- OTG Compatiblity
2024-01-27 01:54:11 +00:00
This program allows backup vita GCs with a USB device connected via an OTG cable
however this only works with OTG cables with an external power source; or "Y-Cable"
for example this one for the Amazon Fire Stick https://www.amazon.com/ANDTOBO-Micro-Adapter-Power-Devices/dp/B083M1S6QT will work.
2024-02-04 13:41:42 +00:00
-- Difference between .vci and .psv formats
2024-01-27 01:09:31 +00:00
The main difference is how the keys stored.
in psvgamesd, the result of gc_auth_mgr_sm function 0x20 is stored,
this is the key required to decrypt the .RIF file
however this key is *actually* derived from the result of SHA256 hash functions
of some constants exchanged in packet20 and packet18 of gc authentication.
2024-01-27 01:25:41 +00:00
in .VCI the *input* to the SHA256 function are included instead.
2024-01-27 01:09:31 +00:00
SHA256 is a one-way function and so you cannot go backwards from
the data captured in psvgamesd to the packet20 and packet18 constants.
2024-01-27 01:25:41 +00:00
main advantage is that with VCI it would be thereotically possible to create a vita flash cartridge. .
this, also means that .VCI can be easily converted to .PSV, but .PSV cannot be converted back to VCI.
2024-01-27 01:09:31 +00:00
2024-01-27 01:10:24 +00:00
![gc authentication diagram](https://silica.codes/Li/GcDumper/raw/branch/main/diagram.png)