Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Распаковка нестандартных типов архивов


Deadmаn

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

Добрый день.

Необходимо решить следующую задачу:

Дано: архив формата GRP,

примерная информация о контенте (например, что архив содержит ZIP-архив ( -ы), в который упакованы сжатые текстуры в форматах DXT-1\DXT-5)

Задача-минимум: просканировать архив и составить файл с описанием структуры каталогов (дерево папок). Т.е. должно получиться что-то вроде :

\game folder\game.grp\textures\2056\low\m4a1_silenced.dds

\game folder\game.grp\...

Задача максимум: любыми возможными способами извлечь данные файлы.

Если кто-то знает, при помощи какой программы можно это осуществить - прошу помочь, хотя бы названием программы. Поясню ситуацию. Имеется игра, ресурсы которой упакованы в такой архив, возможно, шифрованный. Есть точная информация, в каком архиве какого типа файлы лежат и их расширения. SDK для игры не выходил. Для прошлой части игры была утилита по распаковыванию таких архивов. Она представляла собой файл размером меньше 1-го МБ. К новой части игры данная утилита не подходит, т.к. при запуске вполне логично выдает ошибку: "Не найдена точка входа в процедуру..." Разработчиков игры уже не существует (фирма распалась). Помощи от них - точно не будет.

Есть ли вероятность того, что можно будет хотя бы прочитать имена файлов, чтобы подложить их в папку игры (игра хавает файлы из папок текстурс\саундс\скриптс\моделс и т.д. и добавляет их в кэш, после чего использует их вместо одноименных из архива game.grp)?

Я слышал, есть такие программы, которые позволяют во время игры грабить модели. Они прямо перехватывают каким-то образом адреса моделей и текстур, между игрой и директ-иксом, и затем сами отстраивают эти модели и накладывают текстуры уже внутри программы. Качество результирующего объекта получается ни к черту, т.к. проги такие универсальны и ресурсы с разных игр обрабатывают по-разному. Но суть в самом методе - они ведь теоретически должны грабить в первую очередь имена моделей\текстур. Может быть есть какой-то смысл использовать этот метод?

Или есть более простое решение данной задачи?

Всем ответившим - заранее, спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за ссылки, сейчас буду изучать.

Проблема в том, что есть, например, файлы-архивы GRP из игры Star Craft, из игры Duke Nukem :) , из игры Xenus BP и т.д. Все это GRP, но, чтобы их "открыть" применяют разные утилиты. Не существует ли какой-то общей методики?

Сейчас буду изучать мат.часть по файлам GRP. Если пойму, что написал только что чушь - пост потру.

Еще раз спасибо за быстрый ответ!

Ссылка на комментарий
Поделиться на другие сайты

1. Пост вы не потрете, прав недостаточно. :)

2. Вот для более точного ответа надо было бы указать название игры.

Ссылка на комментарий
Поделиться на другие сайты

1. Пост вы не потрете, прав недостаточно. :)

2. Вот для более точного ответа надо было бы указать название игры.

Ой, это плохо. Просто боюсь чушь написать.

Игра Xenus 2: Белое золото.

Сейчас посмотрел по Вашим ссылкам. К сожалению, ничего особо нового. То, что это не групповой файл ОС - и так понятно. Соответствующая ошибка выпадает при открытии файла двойным щелчком.

Стар-крафтовская утилита тоже выдает ошибку.

Но некий прогресс есть. Сейчас я скачал новый Dragon Unpacker и он смог HyperRipper'ом найти несколько (9) WAV-файлов в архиве Sounds.grp. Как я понимаю, это значит, что архив нешифрованный\не защищен паролем. Т.е. теоретически подходы должны быть. Вот я знаю, например, что в sounds.grp лежат файлы формата *.OGG, которые игра достает и проигрывает в режиме реального времени - мало вероятно, что в таком случае стали бы прибегать к какой-то там методике шифрования файлов\имен файлов. Хотя не могу утверждать. Dragon пока что (5% сканирования) никаких OGG-файлов не нашел.

Ссылка на комментарий
Поделиться на другие сайты

Возможно это Вам чем либо поможет. Так же есть посвященный теме ресурс.

Ссылка на комментарий
Поделиться на другие сайты

Вам собственно для каких целей нужны ресурсы этих архивов? Практически всё уже выдрано и если очень захотеть можно найти в сети. Гугль в помощь.

Изменено пользователем edde
Ссылка на комментарий
Поделиться на другие сайты

В более раннем посте я написал об этом. Мне требуется узнать имена файлов и папки в которых они лежат (в архиве). Узнав это, я смогу подсунуть файлы (свои) с соответствующими именами в папки Textures\sounds, после чего движок начнет считывать файлы именно из этих папок, а не из архива GRP.

Относительно того, что "выдрано" - у меня нет такой информации. Официальный SDK не выходил (и не выйдет - украинской компании Deep Shadows уже не существует). Никаких репаков не было. Программ для извлечения - не находил. Из возможных игровых файлов находил только OST (музыку), записанную штатными средствами прямо из игры. Выкладывали, по-моему, на playground'е.

Я сам непосредственно не работаю над модом, но хотел бы помочь людям, которые этим занимаются. Есть много желающих сделать что-то: свои текстуры\модели, написать квесты, добавить изменить оружие. Самому мне это не особо интересно, но было бы неплохо посмотреть на конечный результат, а для этого надо раскопать ресурсы игры. До недавних пор, несмотря на запрет издателя, мы все же ожидали SDK, а я лично писал разработчикам, чтобы хотя бы составили для фанатов датовский файл-лист с именами файлов\папок. Но теперь уже писать некому и надеяться не на что. Надо самим что-то пробовать.

Относительно SDK первой части (Xenus BP) - он абсолютно несовместим, т.к. как и положено SDK, он использует библиотеки и исполняемый файл конкретной игры, которые разумеется для этих двух игр разные. Если под "практически все" предполагались материалы Xenus 1(!!!) Boiling Point - то меня они не интересуют. Установлен рабочий СДК, который правит что угодно и аналогично все позволяет извлечь. Вопрос именно про White Gold.

Или я плохо ищу, или еще НИ ОДИН файл не удалось извлечь.

P.S. Гиппер-риппер позволил из архива gf_sounds.grp извлечь 14 файлов в общей сложности. Скорее всего, это OGG файлы, которые он распознал как Wave и как следствие - они некорректно воспроизводятся. На одном из них мне удалось среди сильного шума услышать звук проезжающей мимо машины. Другого прогресса пока нет.

Ссылка на комментарий
Поделиться на другие сайты

Ну в таком случае вам помимо распаковщика еще и упаковщик нужен, то есть две программы :) не думаю что упаковщик вы найдете в свободном доступе, разве что на специализированных по такой тематике форумах вам что нибудь подскажут.

Ссылка на комментарий
Поделиться на другие сайты

В том-то и дело, что упаковщик НЕ НУЖЕН! Игра автоматически обрабатывает подложенные файлы. Происходит это так:

Создается, например, текстура --- кладется в папку Textures --- Запускается игра --- Появляется надпись: "DirectX 9: Please wait... Convertin textures 1%" --- Когда доходит до 100%, игра спокойно запускается --- Вместо текстуры из архива GRP мы видим нашу текстуру, которую положили в папку Textures.

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

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

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...