Wat is het SFO-bestandsformaat?
Een .sfo-bestand - in een gamepakket altijd param.sfo genoemd - is een compacte binaire metadatacontainer die wordt gebruikt op Sony PlayStation-platforms van de PSP tot en met de PS5. Het slaat de sleutel-waarde-parameters op die het console-dashboard (de XMB op PS3 en PSP, het startscherm op PS4 en PS5) leest om de titel van een game, titel-ID, versiestring, vereiste systeemsoftwareversie en ouderlijk toezicht-classificatie weer te geven.
Het formaat maakt gebruik van een vaste binaire header van 16 bytes die begint met de magic bytes \x00PSF, gevolgd door een sleutelstringtabel van null-terminated UTF-8-sleutels en een datatabel met getypeerde waarden. Waarden kunnen UTF-8-strings, 32-bits integers of onbewerkte byte-arrays zijn. Veelvoorkomende sleutels zijn TITLE, TITLE_ID, APP_VER, PARENTAL_LEVEL en SYSTEM_VER. Het bestand is little-endian en bevat geen versleuteling of checksum; de integriteit wordt beheerd op het niveau van de bovenliggende .pkg-container.
param.sfo wordt nooit als een zelfstandig bestand gedistribueerd. Gebruikers komen het tegen bij het uitpakken van een PSP, PS3, PS4 of PS5 gamepakket, back-up of update-archief. Het bestand is doorgaans kleiner dan 2 KB. Tools zoals PS4 SFO Reader/Editor (hippie68) maken het mogelijk om deze parameters te lezen en te bewerken - handig voor homebrew-ontwikkeling of regionale titel-patching. De PSP/PS3/PS Vita-variant gebruikt header-versiebytes 01 01; de PS4 introduceerde een bijgewerkte variant met extra sleutels.
Beveiliging & veiligheid
RISICO: LOWPARAM.SFO-bestanden zijn passieve metadata en kunnen geen code uitvoeren. Het risico is contextafhankelijk: het aanpassen van een param.sfo in een gamepakket om de vereiste firmwareversie te verlagen is een veelvoorkomende CFW/homebrew-techniek; de juridische gevolgen en het risico op een console-ban hangen af van de situatie van de gebruiker. Het downloaden van willekeurige .sfo-bestanden van internet brengt het gebruikelijke softwarerisico met zich mee.
Formaatdetails
in een notendop- CuteFTP Site File Object (ServerFTP-verbindingsbestand) - CuteFTP gebruikte .sfo voor opgeslagen FTP-serververbindingsprofielen; het formaat is een propriëtair binair GlobalSCAPE-bestand.
- Bitstream Font Outline File - Verouderde Bitstream-lettertypetegnologie gebruikte .sfo als bijbestand voor lettertypegegevens; effectief verouderd, geen moderne software gebruikt dit nog.
Programma's die SFO-bestanden openen
Technische details
diepe specificaties| Magic bytes | `\x00PSF` (0x00 0x50 0x53 0x46) op offset 0 |
| Byte-volgorde | Little-endian |
| Container | Aangepast binair Sony-formaat met vaste header, sleutelstringtabel, datatabel en indextabel |
| Header-grootte | 16 bytes vast; slaat offsets op naar de sleuteltabel en datatabel, plus het totale aantal items |
| Formaatversie | Bytes 4-5: `01 01` (v1.1) voor PSP, PS3 en PS Vita; PS4/PS5 gebruiken een bijgewerkte variant |
| Waardetypen | UTF-8-strings, 32-bits unsigned integers en onbewerkte byte-arrays |
| Voorbeeldsleutels | `TITLE`, `TITLE_ID`, `APP_VER`, `PARENTAL_LEVEL`, `SYSTEM_VER` |
| Gegevensbeveiliging | Geen versleuteling of checksum binnen de SFO; integriteit is gedelegeerd aan de ondertekening van de bovenliggende PKG-container |
| Typische bestandsgrootte | Onder 10 KB; PS3 `PARAM.SFO` doorgaans 500 B - 2 KB |
| Platforms | PSP, PS3, PS Vita, PS4, PS5 |
| Bestandsnaamgeving | Altijd `param.sfo` (kleine letters) binnen gamepakketten; nooit gedistribueerd als een zelfstandig bestand |
| Gegevensopslag | Waarden opgeslagen als onbewerkte ongecomprimeerde bytes - UTF-8-strings of 4-byte little-endian integers in platte tabellen |
| Uitgebracht | ~2005 (PSP, PlayStation Portable) |
| Laatste versie | PS4/PS5 variant (updated ~2013 with PS4 launch) |
| Specificatie | www.psdevwiki.com |
SFO conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over SFO-bestanden.