PGD

From PSP Developer wiki
Jump to navigation Jump to search

PGD is a data format used on PSP since late firmwares, to store some games' data. PGD means "Protected Game Data".

Location[edit | edit source]

PGD data can be:

  • packed inside .pgd files: seen somewhere?
  • stored in DATA.PSAR (PSISOIMG0000 for PS1 games), themselves part of EBOOT.PBP. EBOOT.PBP can be stored in .pkg. There can be many .PGD files in one DATA.PSAR.

Stucture[edit | edit source]

Offset Length Name Description
0x0 0x4 Magic PGD
0x4 0x4 Version 01 00 00 00
0x8 0x4 Offset or (encryption mode + padding) 01 00 00 00
0xC 0x4 Maybe padding 00 00 00 00
0x10 0x10 Key AES-128 bit hash key used for header decryption.
0x20 0x10 Hash Generated hash from the 0x10 key.
0x30-5F 0x30 ?encrypted? Encrypted header of the PGD which when decrypted reveals a new hash key and four bit fields. The first is NULL, the second represents the decrypted data size, the third is the decrypting chunk size and the fourth is the data hash address.
0x60 0x10 ?encrypted? File hash.
0x70 0x10 ?encrypted? Hash generated from the sceIoIoctl key.
0x80 0x10 ?encrypted? Encrypted hash generated from the sceIoIoctl key.
0x90 0x10 ?encrypted? Data hash.
0xA0 0x10 ?encrypted? Encrypted data hash.

List of games using PGD[edit | edit source]

This is a non-exhaustive list.

  • Most PS1onPSP games. ?Every?
  • Kingdom Hearts: Birth by Sleep: big PGD files
  • God of War: Ghost of Sparta: small PGD files
  • SOCOM: FireTeam Bravo 2 (US): see psheet.
  • Killzone: Liberation (US and EU): see psheet.
  • Hilton Garden Inn: Ultimate Team Play (US): see psheet.
  • ?Sword Art Online?
  • ?Naruto Shippuden Ultimate Ninja Heroes 3?

Notes[edit | edit source]

See Hykem's explanation.