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
Ответов
-=CHE@TER=-
Sep 20 2022, 10:55
Сообщение #2


Walter Sullivan
***

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



Закрывая тему по игре Total Overdose - на сайте опять просили написать утилиту для упаковки.
Меня откровенно ломало это делать, но подумалось, что есть способ проще, т.к. формат, по сути, почти что .ZIP - возможно, игра его и поддерживает.
Заглянул внутрь исполняемого файла игры TOD.EXE и сделал поиск ".zip" - нашёл такие строки (я здесь по строкам разбил, но это ASCIIZ строки, где каждая заканчивается нулём):
CODE
/uk_sounds.naz
/uk_sounds.zip
/it_sounds.naz
/it_sounds.zip
/de_sounds.naz
/de_sounds.zip
/fr_sounds.naz
/fr_sounds.zip
/es_sounds.naz
/es_sounds.zip
Как видите, к каждому .NAZ идёт в паре .ZIP (видимо, если .NAZ не найден). Остальные архивы я нашёл внутри исполняемого файла одной строкой (это одна строка, с запятыми и пробелами):
CODE
blocks.naz, sounds.naz, videos00.naz, videos01.naz
Что как бы говорит о том, что новые .NAZ файлы создавать бесполезно, т.к. игра не ищет по маске *.NAZ, а работает строго только с именами упомянутыми выше.
И тут меня осенило, что, возможно, функция открывающая архивы одна, где внутри, уже по типу файла, определяет как его открывать: как .NAZ или как .ZIP.
Тогда я сделал следующее:
1. Дешифровал все архивы .NAZ в .ZIP при помощи утилиты nastozip.
2. Убрал во временный каталог все оригинальные .NAZ файлы.
3. Переименовал все полученные .ZIP архивы в .NAZ (просто раширение сменил).
4. Запустил игру и... всё заработало будто так и было. Даже новую игру начал - никаких ошибок.
Всё, конечно, не тестировал, но, подозреваю, что проблем быть не должно.
Мораль сей басни такова: вот так лень победила желание что-то делать (конвертер из .ZIP обратно в .NAZ).


Спасибо сказали:
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
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0 -

 



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