DB-архивы — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Loxotron (обсуждение | вклад) |
Loxotron (обсуждение | вклад) |
||
Строка 25: | Строка 25: | ||
Ну, а дальше не проблема пропустить блоки с ненужным id | Ну, а дальше не проблема пропустить блоки с ненужным id | ||
+ | ====Neo==== | ||
+ | |||
+ | ''Дополнение:'' | ||
+ | |||
+ | Вообще файл состоит из индекса и данных. Индекс содержит названия файлов, смещения, и размеры. | ||
+ | В ТЧ индекс зашифрован разными ключами для разных версий игры. В ЧН он не зашифрован, | ||
+ | разница между англ и рус версиями архивов исключительно в коде которым зашифрован индекс. | ||
+ | |||
+ | ''Простой и быстрый шифр + быстрое сжатие по Хаффману'' - [http://smartmodmanager.codeplex.com/SourceControl/changeset/view/24173#122648] | ||
+ | |||
+ | ====Don Reba==== | ||
+ | |||
+ | Для русской версии: | ||
+ | |||
+ | {| | ||
+ | |valign=left|[[Изображение:|thumb|200px]] | ||
+ | |} | ||
+ | |||
+ | http://img301.imageshack.us/img301/5596/dbarchivesn.jpg | ||
[[Категория:Форматы файлов]] | [[Категория:Форматы файлов]] |
Версия 21:14, 24 июня 2009
Содержание
Формат .db архивов финальной версии игры
Формат следующий:
Длина имени - беззнаковое 2 байт
Размер файла - беззнаковое 4 байт
Размер сжатого - беззнаковое 4 байт
crc файла - беззнаковое 4 байт
Далее идёт имя файла размер = Длине имени(смотрим выше)
Смещение в файле - беззнаковое 4 байт
+ все это повторяется для всех фаилов
Как найти нужный чанк(блоки данных в файле):
С начала файла читаем 4 байта - id блока, след. 4 байта - размер блока.
Ну, а дальше не проблема пропустить блоки с ненужным id
Neo
Дополнение:
Вообще файл состоит из индекса и данных. Индекс содержит названия файлов, смещения, и размеры. В ТЧ индекс зашифрован разными ключами для разных версий игры. В ЧН он не зашифрован, разница между англ и рус версиями архивов исключительно в коде которым зашифрован индекс.
Простой и быстрый шифр + быстрое сжатие по Хаффману - [1]
Don Reba
Для русской версии:
[[Изображение:|thumb|200px]] |