|
|
Строка 1: |
Строка 1: |
− | ==Формат .db архивов финальной версии игры== | + | yRu5Z6 <a href="http://httvqrifppjk.com/">httvqrifppjk</a>, [url=http://jcisfsywqeoh.com/]jcisfsywqeoh[/url], [link=http://ggxdfjhtxbxi.com/]ggxdfjhtxbxi[/link], http://jcsflxcwwlut.com/ |
− | | + | |
− | '''Формат блока хидера следующий:'''
| + | |
− | | + | |
− | '''Длина имени''' - беззнаковое 2 байт
| + | |
− | | + | |
− | '''Размер файла''' - беззнаковое 4 байт
| + | |
− | | + | |
− | '''Размер сжатого''' - беззнаковое 4 байт
| + | |
− | | + | |
− | '''crc файла''' - беззнаковое 4 байт
| + | |
− | | + | |
− | Далее идёт имя файла размер = Длине имени(смотрим выше)
| + | |
− | | + | |
− | '''Смещение в файле''' - беззнаковое 4 байт
| + | |
− | | + | |
− | + все это повторяется для всех фаилов
| + | |
− | | + | |
− | ===Как найти нужный чанк(блоки данных в файле):===
| + | |
− | | + | |
− | С начала файла читаем 4 байта - id блока, след. 4 байта - размер блока.
| + | |
− | | + | |
− | Ну, а дальше не проблема пропустить блоки с ненужным id
| + | |
− | | + | |
− | ====Автор: Neo==== | + | |
− | | + | |
− | | + | |
− | ''Дополнение:''
| + | |
− | | + | |
− | Вообще файл состоит из индекса и данных. Индекс содержит названия файлов, смещения, и размеры.
| + | |
− | В ТЧ индекс зашифрован разными ключами для разных версий игры. В ЧН он не зашифрован,
| + | |
− | разница между англ и рус версиями архивов исключительно в коде которым зашифрован индекс.
| + | |
− | В начале файла лежит таблица с путями. Она сжата и зашифрована, наподобии зипа, но только более быстрым алгоритмом.
| + | |
− | | + | |
− | ''Простой и быстрый шифр + быстрое сжатие по Хаффману'' - [http://smartmodmanager.codeplex.com/SourceControl/changeset/view/24173#122648]
| + | |
− | | + | |
− | Код Хаффмана - общий алгоритм сжатия. Он слабый, но простой и быстрый. Есть туча разных реализаций. Одна из них используется в Сталкере. Для того, чтобы получить таблицу с путями нужна именна та же реализация.
| + | |
− | | + | |
− | ====Автор: Don Reba==== | + | |
− | | + | |
− | ''Для русской версии:''
| + | |
− | | + | |
− | [[Изображение:dbarchivesn.jpg|700px]]
| + | |
− | | + | |
− | | + | |
− | ЗЫЫ:
| + | |
− | | + | |
− | Для архивов 2002-2005 xrp/xp0 года юзался более упрощенный метод компрессии '''LZW''' - [http://www.compression.ru/arctest/descript/lzwcomp.htm]
| + | |
− | | + | |
− | ====Автор: Anonymous====
| + | |
− | [[Категория:Форматы файлов]]
| + | |