Чем распаковать db файлы

Чем распаковать db файлы

STALKER Data Unpacker 1.0 распаковщик игровых архивов db.

Программа Data Unpacker 1.0 в первую очередь предназначена для распаковки игровых архивов с раширением .db. В архиве представлены два варианта этой утилиты, это STALKER_Data_Unpacker_RU.exe и STALKER_Data_Unpacker_EN.exe, т.е. русский а английский вариант. Программа несомненно будет незаменимым помощником не только для тех кто занимается модостроением, но и обычным фанатам игры сталкер.

Например если вам необходимо вытащить из игры музыку или звуки используемые в игре STALKER Тени Чернобыля с помощью этой программы это сделать очень просто. Чтобы не возникало вопросов после скачивания программы, а как ей пользоваться?

Давайте разберем это на примере игры STALKER Тени Чернобыля, и распакуем архив например gamedata.db5:

1. Запускаем файл STALKER_Data_Unpacker_RU.exe, в открывшемся окне выбираем папку в которой у вас установлена игра (в моем случае это диск D:S.T.A.L.K.E.R. — Shadow of Chernobyl) и выбираем файл gamedata.db5:

2. Выбираем папку в которую будет рапакован архив, например на рабочий стол, нажимаем открыть:

3. Далее проиcходит распаковка архива:

4. В результате из распакованых файлов выбираем папку sounds и получаем звуки и музыку используемую в игре (в формате .ogg):

Название: Data Unpacker
Версия: 1.0
Автор программы неуказан если это вы сообщите нам
Размер: 52 Kb

Скачать STALKER Data Unpacker 1.0 распаковщик игровых архивов db

Мое хобби, помимо программирования — разработка модификаций под игру S.T.A.L.K.E.R. Работаем мы в команде, где, как и принято, каждый отвечает за что-то свое. Я, помимо того, что вхожу в круг разработчиков, еще и осуществляю разработку ПО для команды. Под катом читайте, как мы автоматизировали распаковку игровых архивов, с какими проблемами столкнулись и как их решили.

Ресурсы игры запакованы в архивы. Оценить сколько у нас архивов в текущем билде вы можете ниже:

У разработчиков все эти архивы есть в распакованном виде, а для тесторов мы выпускаем куммулятивные обновления, распространяющиеся единым архивом.

Помимо этого, существует еще и разные наборы изменений из 4-х нижних архивов. Иногда возникает необходимость распаковать их все. У нас есть разные инструменты для упаковки и распаковки, я знаю, как минимум, 2 набора – консольная и GUI версия. У каждой из них свои недостатки:

Читайте также:  Деление в ассемблере div

Консольная:
1. На распаковке архивов более

GUI:
1. Выбор начальной папки, архива, конечной директории – производится руками.
2. возможна только распаковка 1 архива за раз.

Поскольку у нас есть архивы и почти по 2ГБ, то приходится использовать GUI. Когда мне надоело по сто раз делать одно и тоже, я решил его автоматизировать.

Распаковщик имеет вот такой интерфейс:

Это все диалоговые окна. Меня навело на мысль поле, в котором отображается имя файла. Если его можно вписать туда руками или выбрать, то это же можно повторить и программно.

Мы вооружимся C++ WinAPI и SPY++ и пока будем работать над первым окном. Запустим распаковщик и SPY++, найдем там его процесс:

И да, для того, чтобы было удобнее искать нужные поля на экране, советую их заполнить информацией, я, например, выбрал архив. Хорошо, поля мы тут видим. Можно приступать писать код…

Еще при первом обдумывании идеи у меня возникла мысль сделать удобный конфигурационный файл. Структура его была придумала сразу и так и не менялась:

Распаковщик.exe – пусть до GUI распаковщика
C:S.T.A.L.K.E.R – пусть до игры
D:Stalker SHоC1 – пусть до папки, в которую надо распаковать
YES – получить список архивов рекурсивно (NO) или из списка ниже
gamedata.db1 – список с именами архивов
/gamedata.db2 – закомментированная строчка

Я не буду подробно останавливаться на том, как считывается конфиг. Скажу лишь то, что у нас есть структура с аналогичными полями. Для того, чтобы нажимать на кнопочки в другом окне нам нужно получить его handle. Далее мы должны получить handlы нужных нам элементов управления. Причем, получать их именно в той последовательности, в которой они связаны (то, как они связаны видно по раскрывающимся спискам у элементов в SPY++. Посмотрим:

Читайте также:  Ведьмак 3 кровь и вино фото

Получать handlы мы это будем следующим кодом:

Функция FindWindow(Ex) — возвращает handle по имени объекта. Вторым параметром может принимать значение класса объекта, а первым можно передать тот объект, в котором искать (например, мы передаем handle окна для поиска кнопки).

После того, как мы получили данные, нам нужно послать сообщение элементу управления. Делать мы будем это так:

Здесь я остановлюсь подробнее, так как возникли трудности при заполнении ComboBoxа. Изначально код был немного другим, и я получал только:

И пытался заполнить его используя:

Но ничего не получалось. Почему – я не знаю до сих пор. Еще одна проблема была в том, что меня смутил принцип работы этого окна. На скриншоте выше видно, что когда мы выбираем архив то в ComboBox попадает только его название. Путь нигде не фигурирует. Надеясь на чудо, я передал туда полный путь до архива и все заработало. Чудеса есть? Думаю, нажатие на кнопку Ок очевидно, и мы его рассматривать не будем.

Теперь пришло время работы со вторым окном выбора папок. Сразу приведу код и потом прокомментирую.

С этим окном тоже появились проблемы. На нем нет никаких видимых элементов управления, кроме кнопок. Открываем SPY++ и смотрим что у нас внутри:

Я стал выбирать разные папки, и имя директории заносилось в элемент управления Edit, опять-таки, только имя (там что, обработчик клика мыши их в строку складывает?). И я совсем отчаялся, потому что не мог представить, как же мне свой путь туда передать. Первая мысль была запустить все это под отладчиком и найти тот адрес памяти, где лежит конечный путь, инжектить в процесс свою dll и менять значение в памяти (а DEP даст это сделать?).

Эта идея провалилась, потому что я не умею работать с отладчиком и никогда такое не делал, а учиться надо начинать с более простого. Снова надеясь на чудо, я передал в Edit полный путь — и все заработало! Радости не было придела. Далее было рутинное дописывание кода, с которым вы можете ознакомиться тут. Мы получили удобный и универсальный инструмент для распаковки. Я думаю, что мое решение проблемы не единственное и буду рад, если в комментариях расскажут что-то полезное. Спасибо за внимание.

Читайте также:  Видеодрайвер для windows 7 ati radeon

Прграмма-распаковщик .dbx файлов (игровых архивов). Работает со всеми частями (ТЧ, ЧН и ЗП)!

Автор программы: Омар Гуртуев (aka Dordex)
Автор конвертера (Converter.exe): bardak

Выбираем, что будем распаковывать, после чего нажимаем кнопку "Обзор. ", указываем директорию игры и нажимаем "Ok". Начнётся распаковка. Во время распаковки программа блокируется, но будет работать поле "Статус" (оно будет показывать что происходит в данный момент). Распакованные архивы появляются в директории игры в папке "UEgamedata". Это сделано на случай если у вас уже есть распакованные архивы и они изменены (например установлен мод).

Подробней в Readme.

S.I.M.B.I.O.N.
было, её H.I.R.O. выкладывал в ЗП

Andrei_95_
Кажись было?! 5 за то что не свой

Это версия 1.2 и её ещё не было, она поддерживает патч версии 1.6.02 к Зову Припяти

gameshark
2)В ЗП не советую этой прогой пользоватся(буду вылеты которые можно исправить 2-мя путями удалить
конфиги или распаковать всё тупо батником).
+9 из-за кривости

Данная утилита, распаковывает именно так как и консольный распаковщик! Бред не несите!

Некит-Х
А чё такое директория?

Корневая директория, либо корневой каталог, это основная папка с установленной игрой, где находятся
все остальные папки и файлы. Пример корневой директории C:-Games-S.T.A.L.K.E.R.-Тень Чернобыля
(слеши не ставятся)

Теперь обращаюсь к тем кто создаёт эти топики: Пишите реальное название программы, а не что вам
взбредёт в голову, всем кому утилита понравилась, и оказалась удобной в ближайшие время ожидайте
масштабное обновление, в том числе и поддержку распаковки билдов. Всем спасибо.

Ссылка на основную публикацию
Часы с функцией диктофона
Классические часы с секундной стрелкой; Цифровые часы (поддержка 12/24ч форматов, для смены формата сделайте двойной тап по цифрам); Диктофон (поддержка...
Формула vlookup на русском
Функция ВПР в Excel позволяет данные из одной таблицы переставить в соответствующие ячейки второй. Ее английское наименование – VLOOKUP. Очень...
Формула в эксель вычитаем проценты
В различных видах деятельности необходимо умение считать проценты. Понимать, как они «получаются». Торговые надбавки, НДС, скидки, доходность вкладов, ценных бумаг...
Часы с которых можно звонить детские
Ребенка, который самостоятельно посещает школу или гуляет с друзьями, подстерегает много опасностей. Решить эту проблему помогут технологичные детские умные часы...
Adblock detector