Skip to content

oestriot/GcToolKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jun 20, 2026
cdbe9fd · Jun 20, 2026

History

112 Commits
Jun 20, 2026
Nov 29, 2025
Jun 20, 2026
Jun 20, 2026
Jun 16, 2026
Sep 26, 2025
Jun 16, 2026
Dec 27, 2024
Jun 16, 2026

Repository files navigation

GcToolKit

screenshot

Tool to create 1:1 backups of PSV Game Cartridges as well as the per-cartridge keys obtained from CMD56 data.

which are required for proper archival to allow emulating cards in hardware,

Backup entire gamecart

This can backup game cartridges in the following formats:

  • VCI (Vita Cartridge Image)
  • PSV (PSVGameSD Format)
  • IMG (Raw Image File)

Features

Backup an entire gamecart the formats supported by this are:

  • Vita Cartridge Image (.vci)
  • PSVGameSD (.psv)
  • Raw (.img)

it also has a trimmed verison of the same formats, which should be a bit smaller; as it only copies the whole partition(s) size, not the whole disk size

finally it has some options for format, restore and backup the "grw0" & "mediaid" section of any games that use them; these options can sometimes be used in some cases to unbrick vita games, or just as an overpowered save backup.

it is also has an option to view information about your gamecarts such as card id, manufacturer; serial number; key information and so on- gc info

Backup locations

GCToolKit can backup GameCarts to the following locations:

  • An Offical Sony Memory Card
  • PSVSD (3G modem replacement)
  • A ExFAT formatted USB Drive connected to PlayStation Vita TV.
  • A ExFAT formatted USB Drive connected to Vita 2000 via OTG cable.
  • A ExFAT formatted USB Drive connected to Vita 1000 via Accessory Port.
  • host0: on Vita Development Kit.
  • A Computer listening on same local network.

Vita GameCart's are either 2gb or 4gb in size, for this reason the 1gb internal storage on a Vita 2k- cannot be used; it is never big enough;

Network Backup

GCToolKit allows to save a VCI of a game over the local network;

to do this requires running the program "GcNetworkBackup" program running on your computer;

this feature is useful if you don't have a memory card or otherwise, do not have an avalible storage device

the source code for it is in the "pc" folder of this repoistory.

USB OTG Backup

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.

otg setup

YAMT Notice:

  • This tool now supports working even with YAMT installed, you can hot-swap a SD2VITA for a game cartridge- however doing so will require a reboot to get the sd2vita to work again.

Credits

  • The Crystal System Li- Programming, VCI Format, Graphics, Reverse engineering, GC CMD56 Research
  • olebeck - CMD56 helps
  • Robots System - Selecting music, choosing port numbers, emotional support
  • Princess of Sleeping - ExFAT Format code, CMD56 helps
  • dots_tb - original research into USB OTG, and Accessory Port
  • EA Games 1997 - BGM Music from Dungeon Keeper 1 https://www.youtube.com/watch?v=RXfUV_z7i0c

Difference between .vci and .psv formats (why a new format?)

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. in .VCI the input to the SHA256 function are included instead. SHA256 is a one-way function and so you cannot go backwards from the data captured in psvgamesd to the packet20 and packet18 constants.

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 without keys for tools to convert to/from VCI format to others, see: https://silica.codes/OEstriot/VCI-TOOLS

--

for better understanding, here is a complete flowchart of how NpDrm works for physical games, as well as a comparison between different backup formats over the years; and an overview on how the vita decrypts game data in general;

gc authentication diagram

Building

to build the plugin using VitaSDK just run:

cmake -B build
cmake --build build

you can also build it with debug logging enabled by passing -DCMAKE_BUILD_TYPE=DEBUG to the cmake command. or you can use -DCMAKE_BUILD_TYPE=RELEASE to build a release verison,

the PC Network Save Utility can be built using -DBUILD_PC=on; and can be cross-compiled for either linux or windows, with -DCROSS=WINDOWS or -DCROSS=LINUX

About

Create 1:1 backups of PSV Game Carts, including CMD56 auth; p20-p18 unique keys,

Resources

License

Stars

10 stars

Watchers

4 watching

Forks

Packages

No packages published