PGD
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.