Что такое формат файла SFO?
Файл .sfo - всегда именуемый param.sfo внутри игрового пакета - представляет собой компактный бинарный контейнер метаданных, используемый на платформах Sony PlayStation от PSP до PS5. В нем хранятся параметры «ключ-значение», которые считываются системным меню консоли (XMB на PS3 и PSP, главный экран на PS4 и PS5) для отображения названия игры, ID заголовка, строки версии, требуемой версии системного ПО и рейтинга родительского контроля.
Формат использует фиксированный 16-байтовый бинарный заголовок, начинающийся с магических байтов \x00PSF, за которыми следует таблица строковых ключей (ключи UTF-8 с нулевым завершением) и таблица данных с типизированными значениями. Значения могут быть строками UTF-8, 32-битными целыми числами или массивами необработанных байтов. Общие ключи включают TITLE, TITLE_ID, APP_VER, PARENTAL_LEVEL и SYSTEM_VER. Файл использует порядок байтов little-endian и не содержит шифрования или контрольных сумм; целостность управляется на уровне родительского контейнера .pkg.
param.sfo никогда не распространяется как отдельный файл. Пользователи сталкиваются с ним при извлечении игрового пакета PSP, PS3, PS4 или PS5, резервной копии или архива обновлений. Размер файла обычно не превышает 2 КБ. Инструменты, такие как PS4 SFO Reader/Editor (от hippie68), позволяют читать и редактировать эти параметры, что полезно для разработки homebrew или регионального патчинга заголовков. Вариант для PSP/PS3/PS Vita использует байты версии заголовка 01 01; в PS4 был представлен обновленный вариант с дополнительными ключами.
Безопасность и защита
РИСК: LOWФайлы PARAM.SFO являются пассивными метаданными и не могут исполнять код. Риск зависит от контекста: модификация param.sfo в игровом пакете для снижения требуемой версии прошивки является распространенным методом для CFW/homebrew; юридические последствия и риск бана консоли зависят от ситуации пользователя. Загрузка случайных файлов .sfo из интернета несет обычные риски, связанные с программным обеспечением.
Детали формата
в двух словах- CuteFTP Site File Object (файл соединения ServerFTP) - CuteFTP использовала .sfo для сохраненных профилей подключения к FTP-серверу; формат является проприетарным бинарным файлом GlobalSCAPE.
- Bitstream Font Outline File - Устаревшая технология шрифтов Bitstream использовала .sfo в качестве вспомогательного файла данных шрифта; фактически устарел, современное ПО его не использует.
Программы, открывающие файлы SFO
Технические подробности
глубокая спецификация| Магические байты | `\x00PSF` (0x00 0x50 0x53 0x46) по смещению 0 |
| Порядок байтов | Little-endian |
| Контейнер | Собственный бинарный формат Sony с фиксированным заголовком, таблицей строковых ключей, таблицей данных и индексной таблицей |
| Размер заголовка | 16 байт фиксировано; хранит смещения к таблице ключей и таблице данных, а также общее количество записей |
| Версия формата | Байты 4-5: `01 01` (v1.1) для PSP, PS3 и PS Vita; PS4/PS5 используют обновленный вариант |
| Типы значений | Строки UTF-8, 32-битные целые числа без знака и массивы необработанных байтов |
| Примеры ключей | `TITLE`, `TITLE_ID`, `APP_VER`, `PARENTAL_LEVEL`, `SYSTEM_VER` |
| Безопасность данных | Внутри SFO нет шифрования или контрольной суммы; проверка целостности возложена на подпись родительского контейнера PKG |
| Типичный размер файла | Менее 10 КБ; `PARAM.SFO` для PS3 обычно составляет от 500 Б до 2 КБ |
| Платформы | PSP, PS3, PS Vita, PS4, PS5 |
| Именование файлов | Всегда `param.sfo` (строчными буквами) внутри игровых пакетов; никогда не распространяется как отдельный файл |
| Хранение данных | Значения хранятся в виде необработанных несжатых байтов - строк UTF-8 или 4-байтовых целых чисел little-endian в плоских таблицах |
| Выпущен | ~2005 (PSP, PlayStation Portable) |
| Последняя версия | PS4/PS5 variant (updated ~2013 with PS4 launch) |
| Спецификация | www.psdevwiki.com |
Конвертации SFO
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах SFO.