PS3 Savedata

From PS3 Developer wiki
Revision as of 02:18, 6 October 2018 by (talk) (Spelling fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Common terms used in this page[edit]

  • <userid> The number assigned by the system to this user when his account was created (is a counter). Stored in XRegistry.sys, e.g: 00000001
  • <SAVEDATA_DIRECTORY> Name of the folder where the savedata files are stored, composed by TITLE_ID + some variable characters added by the game, e.g: BLES00001-nick01save01
  • <TITLE_ID> Name of the folder where the game was installed (different than the TITLE_ID in his PARAM.SFO that refers to the original ID when the game was released years ago as a disc)
  • <virtual_memcard> The name assigned to the card when it was created from the "Memory Card Utility (PS/PS2)" in XMB
  • Any_Other_Files Represents all the other files in the folder generated by the game with any filename and filextensions that are dependant of each game and can vary, e.g: "PROFILE.BIN"(in PS3 Game Saves) or "SECURE.BIN" (in Minis Game Saves) etc...
  • <MC_Save_ID> Identifyer of each Game Save of a PS1 or PS2 Memory Card. Used as the file name when a single Game Save is exported to USB, e.g: BESLES-53702535953.PSV
  • MC_Slot Inside a PS1 or PS2 Memory card, real or virtual, every one of the savedata items represented with an icon, A single savedata can use one or several slots in PS1, and always only one slot in PS2
  • PARAM.SFO Information about the Game Save. This one is never encrypted.
  • PARAM.PFD Signatures of some of the other files in the folder.

Game Saves PS3[edit]

Saved Data Utility (PS3).jpg
Storage Media Path Import/Export file conversions
Internal HDD dev_hdd0/home/<userid>/savedata/<SAVEDATA_DIRECTORY>/ICON0.PNG No conversion
dev_hdd0/home/<userid>/savedata/<SAVEDATA_DIRECTORY>/PARAM.PFD values updated when imported ? (not verifyed)
dev_hdd0/home/<userid>/savedata/<SAVEDATA_DIRECTORY>/PARAM.SFO values updated when imported ? (not verifyed)
dev_hdd0/home/<userid>/savedata/<SAVEDATA_DIRECTORY>/Any_Other_Files No conversion
External USB dev_usb0/PS3/SAVEDATA/<SAVEDATA_DIRECTORY>/ICON0.PNG No conversion
dev_usb0/PS3/SAVEDATA/<SAVEDATA_DIRECTORY>/PARAM.PFD values updated when exported ? (not verifyed)
dev_usb0/PS3/SAVEDATA/<SAVEDATA_DIRECTORY>/PARAM.SFO values updated when exported ? (not verifyed)
dev_usb0/PS3/SAVEDATA/<SAVEDATA_DIRECTORY>/Any_Other_Files No conversion

PS3 Protections[edit]

There are 3 possible protections in "PS3 Game Saves" that can be used together at the same time, it depends of the game which ones are used and what files are affected

PS3 Game Save files encrypted[edit]

Game developers have the option to encrypt the files generated by the game (when the game writes/reads the Game Save). This encryption/decryption is managed by the game and is different for each game, in some games this encryption doesn't exist, this allows modifications/cheats for Game Saves which files are not encrypted or the encryption method is known, and are not signed by PS3 (read next section below)

For more info about unencrypted game saves see: Game_Modding

PS3 Game Save files signed[edit]

PS3 can generate a signature for each file inside the folder, this signatures are stored in the Protected files table inside the file PARAM.PFD

This table inside PARAM.PFD is limited to a maximun of 114 signatures, seems to be a number high enough for all games developers to protect all, but the fact is usually only a few files (the important ones) are protected with this signatures, one of them uses to be PARAM.SFO

This signature generation/verification is managed by the PS3 and not the game, and can be used together in combination with the previous method (1ºencrypted + 2ºsigned)

PS3 Game Saves Copy Protected[edit]

There is a "feature" in "PS3 Game Save" format that allows developers to disable the "copy" function to an external USB storage device (by pressing triangle over his icon in XMB with the option "copy" of the side menu)

This "copy protection" is managed by a "flag" that can be turned on/off inside PARAM.SFO, see: Copy protection

But... this means you need to modify PARAM.SFO (the signature changes)... so this only works when PARAM.PFD doesn't contains the signature of PARAM.SFO (only a few old games)

Also, This can be used together in combination with the previous methods (1ºencrypted + 2ºsigned + 3ºcopy protected)