IPB

Добро пожаловать, гость ( Вход | Регистрация )

> Описание форматов файлов, всевозможные ресурсы
-=CHE@TER=-
Jul 23 2006, 20:06
Сообщение #1


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,353
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



Итак, начнём.
Я тут увидел, что многие программы, которые я выкладываю на сайте - уже есть в XENTAX WIKI Grafs. Так что, я думаю, что имеет смысл делать распаковщики и выкладывать описания форматов, которых нет там. А то, как-то тупо получается - тут я выкладываю формат, который раскопал сам, в то время как он уже готовенький лежит там.

Ну, вот этого формата я там точно не видел:
QUOTE
Формат: .WD
Игра: Earth 2140

4 байта - количество файлов в архиве (обозначим их как TF)

далее следует блок описания такого формата:
4 байта - абсолютное смещение файла относительно начала архива
4 байта - размер файла
8 байт - зарезервированно - всегда 0-ли (в том архиве, который мне давал когда-то Siberian GRemlin для написания распаковщика - "FONT.WD")
4 байта - какая-то контрольная сумма - у всех файлов разная
4 байта - смещение имени файла в списке имён (NOfs) - см. дальше

Блок описания нужно повторить TF раз.

4 байта - размер списка имён

Затем идёт сам список имён файлов:
NAME1\0NAME2\0 и т.д.
т.е. просто TF штук ASCIIZ-строк друг за другом.

Если прочитать список имён в отдельную переменную-указатель, то через NOfs в качестве побайтового индекса, мы получим указатель на начало ASCIIZ-строки, с именем нужного нам файла.
Имя файла может содержать относительный путь, с использованием символа слэш "/" в качестве разделителя.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
jTommy
Dec 13 2007, 18:20
Сообщение #2


Наблюдающий
***

Группа: CTPAX-X
Сообщений: 197
Регистрация: 4-February 08
Из: деревня Москва
Пользователь №: 6
Спасибо сказали: 19 раз(а)



QUOTE(-=CHE@TER=- @ Jul 23 2006, 11:06 PM) *
Я тут увидел, что многие программы, которые я выкладываю на сайте - уже есть в XENTAX WIKI Grafs.
Так программы или описания? Там вроде ссылки только на универсальные распаковщики (и очень редко на специализированные). Так что твои программы пригодятся на этом сайте.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Dec 14 2007, 09:32
Сообщение #3


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,353
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



QUOTE(jTommy @ Dec 13 2007, 06:20 PM) *
Так программы или описания? Там вроде ссылки только на универсальные распаковщики (и очень редко на специализированные). Так что твои программы пригодятся на этом сайте.
Не прошло и года... (*улыбается*)
Смысл был в том, что если описание формата известно, то распаковщик может написать, _практически_ каждый (ну, кто программировать хоть на чём-то умеет). Другое дело, что заходить туда и писать распаковщики по их описаниям форматов - как-то... не знаю, глупо что-ли? Хотя я ими (описаниями) пользовался действительно продуктивно только один раз - при написании Blood Rayne 2 POD Encoder Decoder (а то часто там ошибки или вообще к жизни не относятся - например для первой части игры Blood вообще не учитывается, что файлы и FAT архива могут шифроваться - кому интересно на сайте у Ken Silverman лежит утилита KBARF с исходными кодами на Си, которая расшифровывает и распаковывает архивы, но, как оказалось, у меня была версия где тело файлов не шифровалось, так что пришлось эту утилиту немного модифицировать).

Для первого Blood правильное описание выглядит так:
QUOTE
char {4} - Header ('R', 'F', 'F', 0x1A)
uint16 {2} - version (0x2000 - no encryption; 0x0300, 0x0301 - encryption used)
uint16 {2} - unused1 (padding)
uint32 {4} - Directory Offset
uint32 {4} - Number Of Files
byte {16} - unused2 (padding)
byte {x} - Files data
Сам алгоритм расшифровки (там XOR с меняющимся ключом) можно посмотреть в уже упомянутой программе KBARF.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме
-=CHE@TER=-   Описание форматов файлов   Jul 23 2006, 20:06
9k1d   не то? http://filext.com/file-extension/wd   Dec 12 2007, 13:20
-=CHE@TER=-   не то? http://filext.com/file-extension/wdНет коне...   Dec 12 2007, 15:54
Siberian GRemlin   Формат же разобран...   Dec 12 2007, 17:41
jTommy   Я тут увидел, что многие программы, которые я выкл...   Dec 13 2007, 18:20
-=CHE@TER=-   Так программы или описания? Там вроде ссылки тольк...   Dec 14 2007, 09:32
Siberian GRemlin   у меня была версия где тело файлов не шифровалось,...   Dec 14 2007, 16:27
-=CHE@TER=-   А ты её выкладывал?Изменённую утилиту? Нет. Я же ч...   Dec 15 2007, 09:14
Siberian GRemlin   Давай. Пригодится.   Dec 15 2007, 20:21
-=CHE@TER=-   Блин, вру - и ни в одном глазу! Поправил неточ...   Dec 16 2007, 10:13
-=CHE@TER=-   Как различить, когда в архиве используется шифрова...   Nov 1 2016, 15:50
-=CHE@TER=-   Наверное тут будет самое место. Очень подробное оп...   Apr 6 2010, 16:47
-=CHE@TER=-   - Ancient chinese secret! © Lo Wang, Shadow Wa...   Sep 6 2014, 16:27
-=CHE@TER=-   На сайте про игру Total Overdose спрашивали, так ч...   Jun 9 2018, 17:27
-=CHE@TER=-   Обновил программы. Для Total Overdose ещё раз пере...   Jul 14 2018, 16:49
-=CHE@TER=-   Если кто пользуется программой pngout, то знает, ч...   Mar 31 2019, 06:29
-=CHE@TER=-   Понадобилось мне тут как-то создать длинный JPEG ф...   Mar 24 2020, 14:43
-=CHE@TER=-   Закрывая тему по игре Total Overdose - на сайте оп...   Sep 20 2022, 10:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 28th March 2024 - 23:58