SFO

From Just Solve the File Format Problem
Revision as of 04:55, 18 August 2026 by Li (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
File Format
Name SFO
Ontology
Extension(s) .sfo

Contents

Description

SFO / param.sfo is used for System Information and Paramaters for games and applications on PlayStation Consoles, such as the PlayStation Portable, PlayStation 3, PlayStation Vita, and PlayStation 4. for storing metadata about a given program or applications - it is not used on the PlayStation 5, where they switched to using a JSON file instead, and it is also not used in PlayStation Mobile, or on older consoles, such as the PS2 or PS1-


Data Structure

the file is a binary format. and is made from very common primitives; it stores key-value pairs, consisting of a header, a name table, and a value table;

File header

Data Offset Type Data
Magic 0x00 Int32LE Always \0PSF
Version 0x04 Int32LE 0x1 or 0x101
KeyTable 0x08 Int32LE Absolute position of Key Table
ValueTable 0x0C Int32LE Absolute position of Value Table
Count 0x10 Int32LE Total number of entries in the param file

directly after the header, is a list of entries, there are Header.Count of these; it always begins at 0x14 ..

Entry list

Data Offset Type Data
Name Offset 0x00 Int16LE Position of C-Style string containing key name; Header.KeyTable + Name Offset
Align 0x02 Int8 Number of bytes to align each value to, usually 4 bytes.
Type 0x03 Int8 Type of Value; Either BINARY = 0, STRING = 2, INT32LE = 4
Size 0x04 Int32LE Size of the value in bytes;
TotalSize 0x08 Int32LE Total reserved size of value buffer,
Data Offset 0x0C Depends on type; Either BINARY, STRING or INT32LE Position of Value; Header.ValueTable + Data Offset

each of the values in the value table are padded out to atleast 4 bytes (or whatever the 'align' value is) however the keys are packed together separated only by nullbytes.

See Also

External Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox