Hacker News Digest

06 ноября 2025 г. в 16:52 • landaire.net • ⭐ 272 • 💬 54

OriginalHN

#unreal-engine#reverse-engineering#file-formats#zlib#game-development#ubisoft#splinter-cell#hex-editing

A file format uncracked for 20 years

Автор, энтузиаст исследования игровых файлов, взялся за анализ Splinter Cell (2002) в поисках вырезанного контента, столкнувшись с загадочным форматом .lin, остававшимся нерасшифрованным 20 лет. Игра, разработанная Ubisoft на Unreal Engine 2, имеет файловую структуру с разделенными картами, где каждый уровень состоит из нескольких .lin-файлов. Автор предположил, что common.lin содержит общие данные для оптимизации размера, подобно shared.map в Halo.

Анализ hex-редактором показал, что файлы содержат zlib-сжатые блоки с форматом {размер_распакованных_данных, размер_сжатых_данных, zlib_блок}. Инструмент для распаковки успешно извлек 64КБ данные, включающие четыре 32-битных целых числа, вероятно, связанные с размерами кэша текстур и буферов вершин. Основная секция содержит ссылки на игровые ресурсы, такие как \menu\menu.unr и \1_1_0Tbilisi.unr, что указывает на структуру, аналогичную Unreal Engine.