PARAM.PFD: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 43: Line 43:
:
:


===Index table (from 0x68 to 0x248)===
===Index table (from 0x68 to 0x240)===
Table consisting of 60 entryes, each with a lenght of 8byte-words
Table consisting of 60 entryes, each with a lenght of 8byte-words
The used entryes seems to be randomly placed in the table
The used entryes seems to be randomly placed in the table
Line 63: Line 63:
:
:


===Data table (from 0x248 to 0x4200?)===
===Data table (from 0x240 to 0x4200?)===
Each entry 272 bytes lenght:
Each entry 272 bytes lenght:



Revision as of 04:31, 24 December 2011

Description

This file is responsible to prevent modification of other files, the only purpose is the security of the folder contents

Contains the cryptographic signatures of other files of the same folder (not all. but the ones that developers decided to be important enought to be secured).

Its used in several folders of the PS3, usually to controll data related with the user profile:

/dev_hdd0/home/0000000*/savedata/SAVEDATA_DIRECTORY/PARAM.PFD <---- in all save game folders
/dev_hdd0/home/0000000*/trophy/NPCOMMID/PARAM.PFD <--- in all trohpye folders
/dev_hdd0/home/0000000*/trophy/_TROPSYS_/PARAM.PFD <---- in the trophy "index" folder

Usually PARAM.SFO is one of the entryes in the list of files controlled by PARAM.PFD but this can vary

e.g. the folder _TROPSYS_ only contains 2 files: TROPSYS.DAT & PARAM.PFD (TROPSYS.DAT is the trophy index, and PARAM.PFD secures it)

Every time one of the files listed inside the .PFD is updated... the .PFD itself needs to be updated to store the new signatures of the files that have changed (e.g. when you update a savegame there is some text that changes inside PARAM.SFO with your current game time, status, level, etc..., or when you install new trophyes from a new game the TROPSYS.DAT "index" needs to be updated to list the new trophy installation as valid in the XMB, or when you unlock a new trophye the file TROPUSR.DAT is updated with this data)

More info on other related file formats: PARAM.SFO Game Saves Trophy files.

Structure

File size seems to be fixed at 0x8000 bytes

This is because the number of entryes seems to be always 60 (when the entry is not used his position is reserved but marked as blank)

Header (from 0x0 to 0x68)

Offset Size Description Value
0x00 4 bytes Nothing 00 00 00 00 ¿why this padding?
0x04 4 bytes Magic value "PFDB" in ASCII
0x08 8 bytes Unknown 00 00 00 00 00 00 00 03 ¿file type?
0x10 80 bytes Public key Method unknown
0x60 08 bytes Unknown 00 00 00 00 00 00 00 39 ¿mark of the header end?

Index table (from 0x68 to 0x240)

Table consisting of 60 entryes, each with a lenght of 8byte-words The used entryes seems to be randomly placed in the table

Some common entryes Description
00 00 00 00 00 00 00 72 no entry (not used or blank)
00 00 00 00 00 00 00 01 entry nº 1
00 00 00 00 00 00 00 02 entry nº 2
00 00 00 00 00 00 00 03 entry nº 3
00 00 00 00 00 00 00 00 weird value at the end of the file ?

Data table (from 0x240 to 0x4200?)

Each entry 272 bytes lenght:

Lenght Description Notes
8 bytes table-entry mark 00 00 00 00 00 00 00 72
64 bytes filename null-terminated
¿8 bytes? unknown ¿¿first byte zero, 2 bytes vary, third byte fixed??
188 bytes certificate null-terminated (when PARAM.SFO is the file then it stores 2 values)
4 bytes file size

Weird repeating pattern on file-end (from 0x7B60 to 0x7FD4)

20-byte pattern on file-end (some kind of sha-1 hash??)
The weird repeating pattern 60 x 12 bytes so an entry for each potential file with the blank entry (I.E. no file)
being represented by the repeating byte pattern.

Cryptography

Unknown






Source: http://ps3dev.wikispaces.com/PARAM.PFD