DB-архивы — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

DB-архивы — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
 
Строка 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]]

http://img301.imageshack.us/img301/5596/dbarchivesn.jpg

Другие места
LANGUAGE