Форум HeroesWorld-а - Показать сообщение отдельно - [ВОПРОС] Программа, распаковывающая архивы игры
Показать сообщение отдельно
#5
Старый 09.07.2023, 22:56
  #5
^
Black Phantom
 
Аватар для Black Phantom
📖
Регистрация: 29.05.2007
Адрес: Россия, г. Москва
Сообщения: 11
Отправить сообщение для  Black Phantom с помощью ICQ
Регистрация: 29.05.2007
Адрес: Россия, г. Москва
Сообщения: 11
Отправить сообщение для  Black Phantom с помощью ICQ
По умолчанию
Re: [ВОПРОС] Программа, распаковывающая архивы игры

ChASnock

А какой формат .LOD-архивов?

(Формат-то я знаю, да только данные в архиве запакованы непонятно чем... если не gzip'ом, то скажите, чем gzip не распаковывает странно, что данные в .LOD-ах запакованы чем-то еще кроме gzip'а, если он используется в них (в Героях) везде и всюду )

Данные LOD запакованы при помощи алгоритма DEFLATE, который в т.ч. использует программа gzip.

В заголовках LOD содержится информация об имени файла, смещении, исходном сжатом размере


По смещению находится файл сжатый DEFLATE, причем первые два байта - это загловок Zlib (0x78, 0x9c), а последние четыре - хэш-сумма типа Adler-32. 
Откинув эти 6 байт получаем сжатую информацию в DEFLATE.


Для преобразования в формат *.gz нужно добавить 10 байт заголовков Gzip (0x1F 0x8B 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x0B) + нижний колонтитул (в конце файла): контрольная сумма CRC-32 (4 байта) + размер несжатых данных в байтах (4 байта)


__________________
Все на земле боится времени, но время боится Героев Меча и Магии
Все на земле боится времени, но время боится Героев Меча и Магии
Black Phantom вне форума
Ответить с цитированием