Перейти к содержимому
Zone of Games Forum
z0z1ch

Помогите распаковать .dek

Рекомендованные сообщения

Добрый день.

Необходимо вытащить графику из .dek файлов (присутствуют в играх для iso от компании Playdek Games).

Один добрый человек пытался мне помочь и добился определенных успехов (получилось извлечь звуки и текст), результат его трудов и .dek файлы здесь.

Если у кого-нибудь получится достать графику буду благодарен.

Спасибо!

Поделиться сообщением


Ссылка на сообщение

z0z1ch, тебе нужна просто графика карточек для CnC?

типа такой? http://rgho.st/8HzQ6bhk9.view

Изменено пользователем LinXP

Поделиться сообщением


Ссылка на сообщение

 

LinXP, да нужна именно графика карточек, игрового поля и т.д., если подскажете способ как её достать (т.к. интересует не только данная игра) буду признателен, спасибо.

Изменено пользователем z0z1ch

Поделиться сообщением


Ссылка на сообщение

Есть какой-нибудь прогресс по извлечению графических ресурсов из dek-файлов?

Я пробовал ковырять файлы из Summoner Wars как для ios, так и для android ( https://yadi.sk/d/1Vt9sPZgv3CMQ )

В целом текстуры извлекаются относительно просто, их можно найти в сырых извлеченных данных из раздела с данными, по ссылке выше есть пример такой текстуры. Но основная проблема в том, что не могу понять, почему текстуры в файлах получаются битыми. Я вручную сидел биты перебирал, там полностью правильный и корректный формат DEFLATE с динамическими кодами Хаффмана. Если кто чем поможет, буду безумно признателен.

Изменено пользователем Akuma_Izra

Поделиться сообщением


Ссылка на сообщение
В целом текстуры извлекаются относительно просто...

Если есть возможность, напишите инструкцию как это сделать, спасибо.

Изменено пользователем z0z1ch

Поделиться сообщением


Ссылка на сообщение
Если есть возможность, напишите инструкцию как это сделать, спасибо.

Я просто распаковываю raw deflate данные по смещению 0x2000 или 0x3000 (нужно просто смотреть докуда идет заголовок файла, а потом выравнять по 0x1000). Для большинства файлов это 0x2000

Распаковку делаю с помощью питона 3.4+:

import struct, zlib, sysfile = open(sys.argv[1], "rb")file.seek(0x24) # тут указывается размер упакованных данныхsize = struct.unpack("I", file.read(4))[0]file.seek(0x2000)open("dump.data", "wb").write(file.read(size))

 

Полученный файл в целом можно открыть GIMP'ом как raw-изображение RGBA. Там только нужно подобрать размеры текстуры и смещение в файле. Размеры текстуры равняются обычно степеням двойки (128х128, 256х256 и т.д).

Но у меня часть текстуры получается битой. Причину понять не могу. Я даже декомпилировал андроид версию Summoner Wars, там в коде при загрузке из файлов вызывается обычная inflate функция zlib'а версии 1.2.3.

Пример текстуры, что получается извлечь из non_scene.dek можно найти по моей ссылке выше, там кстати она почему-то ещё и со смещением расположена относительно начала данных.

Поделиться сообщением


Ссылка на сообщение

В общем DEK формат - это довольно простой контейнер.

В зависимости от игры, там меняются немного заголовки, но смысл в целом неизменен.

В начале идет количество папок внутри файла.

Затем идет описание этих папок, в каждом из которых указано количество файлов в папке, смещение в файле, где данные папки лежат и размер этой папки.

По смещению папки идет описание файлов, обычно идет хеш файла, тип файла, смещение и размер в хидер секции папки, смещение и размер в дата секции папки.

После описания файлов идет индексация файлов, там просто напротив хеша ставится номер данного файла(бесполезная штука).

После этого указатель внутри файла выравнивается на следующее значение кратное 0x1000.

Само содержимое папки представляет собой raw deflate, который можно распаковать zlib'ом. Оно поделено на две секции: хидер и дата. В первой содержится описание текстур и обычные файлы. Когда первая секция заканчивается, идет также выравнивание на значение кратное 0x1000, после этого идет секция дата, здесь обычно лежат сами текстуры.

В хидер части обычно указывается размер текстуры. Сама текстура может быть пожата(DXT, PVRTC и прочие), а может быть и нет.

Но иногда вылазят неожиданности, например у Summoner Wars хидер секция битая и половина первой текстуры смешивается с данной секцией. Иногда смещения немного странно смещаются, так что приходится искать правильное.

В Lord of Waterdeep например у заголовков другие смещения, хоть и с тем же смыслом, а в файле cards_hd.dek лежат карты несжатых текстур в RGBA8888, но со странными размерами данных, хоть и превосходно открываются GIMP'ом.

В целом, могу помочь распаковать, но окончательную обработку тебе придется делать самому, у меня на это времени просто не хватает.

Изменено пользователем Akuma_Izra

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • большую часть времени у них все таки высокие рейтинги, прямо объективно, они временно снижаются после некоторых мер, но определенные рекламные кампании выправляют ситуацию, людей довольно просто обмануть и как я уже написал минимум 10% административного ресурса голосует за ЕР всегда и стабильно, а на выборы приходит всего процентов 30 населения, тут даже считать по особенному не надо. Хотя определенно некоторые на местах могут и одно место порвать, лишь бы отправить благоприятную статистику по школе, району или региону.
    • Случайно люксметром не RADEX LUPIN мерил? Если им, то он может вполне врать. Один техно блогер брал несколько штук, и каждый из них показывал разные цифры ШИМа, на одном и том же аппарате. Поэтому ему лучше не доверять особо. 
    • Ребят кому интересна игра поддержите пожалуйста проект. У кого есть лишние средства конечно. https://boosty.to/gamehacking/posts/d8e162ee-cdd0-4327-890e-474978e6f032?share=post_link
    • Вообще они делали Of Orcs and Men вместе со студией  Cyanide. Далее линейка игр про Стикса уже только силами  Cyanide создавалась. То есть надо быть внимательными, читая их послужной список. Они бывало являются не единственной студией задействованной в разработке какого-то проекта. Где-то портированием занимались.   
    • Доброго времени суток! Наша небольшая группа занимается созданием русской озвучки для Under the Waves.
      На данный момент удалось:
      • Распаковать игровые архивы через FModel
      • Извлечь и расшифровать все необходимые медиафайлы (аудио, тексты, и т.д.)
      * Движок: Unreal Engine 5 Сейчас возникла сложность с обратной упаковкой. Подскажите, пожалуйста: Какие инструменты/скрипты лучше использовать для сборки .pak под UE5? (UnrealPak, PakBuilder, кастомные тулзы?) Есть ли особенности именно у этой игры: используется ли AES-шифрование на выходе, нужно ли менять имена файлов, сохранять оригинальную структуру папок или генерировать новые .ucas/.utoc? Возможно, кто-то уже успешно делал моды/локализацию для UE5-проектов и готов поделиться кратким гайдом или конфигом упаковки? Будем очень благодарны за любую помощь, ссылки на инструменты или консультацию. Готовы указать авторов помощи в описании релиза/титрах мода. Заранее спасибо за ваше время и поддержку комьюнити! 
    • Забыл добавить, что это касается седьмой части
    • Только что проверил — все отлично работает! Большущее спасибо!!!
    • Для тех, у кого не работает с грейфейсом. После разархивирования всех 3х файлов(лучше это делать в отдельную папку), нужны лишь 3 папки: Anims, Data и Sounds, которые нужно перекинуть в папку с игрой,  остальные файлы кидать не нужно, потом нужно накатить grayface, затем в mm7.exe нужно поставить совместимость в ХР Service pack 2 или 3 и игра запускается напрямую с лаунчера гог без просадок фпс. Надеюсь кому-то помог.
    • @axl Спасибо за то, что навёл на мысль. По сути, нужны лишь 3 папки, которые нужно перекинуть в директорию с игрой,  остальные файлы там не нужны, потом нужно накатить grayface, затем в mm7.exe нужно поставить совместимость в ХР 2 или 3 и игра запускается напрямую с лаунчера гог.
    • Потому что наверное ошибочно всех мерять вокруг по своим знакомым) 
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
    • ElikaStudio

      Долгожданный релиз полного сезона состоялся!
      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
  • Лучшие авторы


×