Добро пожаловать, гость ( Вход | Регистрация )
| Siberian GRemlin |
Oct 17 2011, 06:00
Сообщение
#1
|
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 222 раз(а) |
Заголовок для архива (.~h). Тупоконечная запись значений.
По следующим смещениям хранятся. $0C - смещение на таблицу. (dword) $14 - смещение на имена файлов. (dword) Таблица содержит. dword - длина названия (архива?). string - название, включая ноль. переменное выравнивание нулями, чтобы следующее значение начиналось со смещения кратного четырём. dword - кол-во файлов в архиве. dword - неизвестно. dword - неизвестно. Затем идёт массив с записями по 16 байт на каждый файл. Собственно загвоздка здесь, где предположительно хранятся размеры файла в сжатом и несжатом виде и смещение. Значения какие-то оторванные от действительности. Дальше идут имена файлов. Сами файлы хранятся в архиве (.~p). Данные либо в чистом виде, либо сжаты Zlib. Идут с выравниванием кратным $800. Грубым образом я конечно смог извлечь данные, но хотелось бы полностью разобрать формат. Скачать образец файлов. (<1) Скачать игру. (~500) |
![]() ![]() |
| Siberian GRemlin |
Oct 17 2011, 17:22
Сообщение
#2
|
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 222 раз(а) |
Спасибо большое! Оказалось, этот же формат используется в Brutal Legend. BMS - работает далеко не на всех архивах, однако даёт пищу к размышлению.
Потестировал на разных архивах распаковщик и выяснил. 1. Количество имён зачастую меньше количества файлов в архиве. 2. У PSIZE иногда придётся отнимать $400000. Т.о. скорее всего, переменные нужно читать вообще побитово, и их гораздо больше чем четыре. Методом научного тыка вряд ли получится определить кол-во и назначение всех переменных. |
Siberian GRemlin Costume Quest Oct 17 2011, 06:00
-=CHE@TER=- Смотрел только маленький архив.
Смещение $20... Oct 17 2011, 09:29
Siberian GRemlin Если кому-то интересно, то вот структура таблицы д... Mar 19 2018, 15:21![]() ![]() |
| Упрощённая версия | Сейчас: 2nd December 2025 - 01:42 |