Перейти к содержимому


Внимание!

Это форум по извлечению ресурсов из игр: музыки, звуков, текстур, 3D-моделей...
Перед поиском ответов на форуме, рекомендуется ознакомиться с основным сайтом EXTRACTOR.ru!
[ Прочтите внимательно - правила создания тем и ответа в них ]
Все вопросы по запуску игр задавайте в другом месте: Установка и запуск игр.


Фотография

QuickBMS

quickbms

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 raven54

raven54

    Рядовой

  • Пользователи
  • 1 сообщений

Отправлено 02 Февраль 2011 - 11:00

Попытался QuickBMS расспаковать архивы игры Blur, формат архивов "pak", и других игр с таким названием не встречал, так что думаю, срипт для этой игры... Но архивы не расспаковываются, QuickBMS выдает ошибку Изображение... С другими скриптами проблем никогда не было... Может кто-нибудь подсказать, в чем может быть проблема, и можно ли ее устранить???

#2 [email protected]=-

[email protected]=-

    Полковник

  • Администраторы
  • 963 сообщений
  • Пол:Мужчина

Отправлено 02 Февраль 2011 - 13:53

0.3.14c - старовата программа. Сейчас уже 0.4.7 - там, видимо, новые инструкции добавили. Обновиться надо.

#3 Axsis

Axsis

    Старший сержант

  • Пользователи
  • 74 сообщений
  • Пол:Мужчина

Отправлено 13 Февраль 2011 - 00:20

Попытался QuickBMS расспаковать архивы игры Blur, формат архивов "pak", и других игр с таким названием не встречал, так что думаю, срипт для этой игры... Но архивы не расспаковываются, QuickBMS выдает ошибку Изображение... С другими скриптами проблем никогда не было... Может кто-нибудь подсказать, в чем может быть проблема, и можно ли ее устранить???

и кстати у автора quickbms на сайте кривой скрипт для блюра - он толи для х-боксовой версии игры его писал, толи для демки, но не все файлы распаковывались им корректно.
помню я тот скрипт довольно сильно правил, чтоб всё извлекалось правильно. если надо - могу поискать свою версию.

#4 haLFDEad

haLFDEad

    Рядовой

  • Пользователи
  • 2 сообщений

Отправлено 26 Сентябрь 2013 - 01:00

Пытаюсь написать скрипт для распаковки wad архивов для игры Doom the Roquelike.
Собственно, с этим я уже справился - почти весь формат можно понять и описать просто глядя на него через хекс-редактор, без использования дизасма/дебаггера.
Сложность заключается в том, что разные файлы в архиве сжаты по-разному
Есть несжатые, которые можно дампить "как есть", есть пожатые злибом и есть пожатые злибом и зашифрованные сверху IDEA.
Ключ я благополучно рипнул и вычислил, но осталась одна проблема.
По стандарту шифрования IDEA, входной и выходной поток данных должен быть в 16битном big-endian, а тут применялась реализация, работающая с little-endian. QuickBMS же использует стандартные реализации, которые благополучно разворачивают байтовый порядок на входе и выходе, от чего, соответственно, результат расшифровки можно сразу отправлять в корзину.
Есть ли способ заставить QuickBMS не делать этого?
Команды типа endian big/little не оказывают никакого эффекта
Я пытался написать цикл, который разворачивает данные перед расшифровкой, но расшифровка происходит только при сохранении в файл, поэтому развернуть уже расшифрованные данные обратно не получается. А ведь их еще и разжимать нужно!
Может, посоветуете что-нибудь?
ЗЫ. Да, я понимаю, в таком случае, наверное, будет лучше написать отдельный экстрактор, и для меня это не такая большая проблема. Просто это первый раз, когда я использую QuickBMS, и мне хотелось бы решить вопрос именно с помощью скрипта.
 
Скачать с iFolder.com
в архиве по ссылке:
unpack.bms - скрипт для распаковки wad файлов. зашифрованные просто дампит как есть
test.bms - моя попытка написать скрипт для расшифровки. на выходе получается злиб поток, перевернутый по два байта
main.lua - зашифрованный файл для проверки

#5 [email protected]=-

[email protected]=-

    Полковник

  • Администраторы
  • 963 сообщений
  • Пол:Мужчина

Отправлено 26 Сентябрь 2013 - 12:30

Можно перед последней строкой скрипта в "test.bms" добавить вот это:

# decrypt buffer
log MEMORY_FILE2 0 EOF MEMORY_FILE
# turn off encryption
encryption "" ""
# reverse words
for I = 0 <= FILE_END
  get LE_WORD short MEMORY_FILE2
  reverseshort LE_WORD
  put LE_WORD short MEMORY_FILE
next I


#6 haLFDEad

haLFDEad

    Рядовой

  • Пользователи
  • 2 сообщений

Отправлено 26 Сентябрь 2013 - 22:35

Эх, а я ведь пробовал такой вариант...
Только шифрование отключить не получалось - я использовал команду encryption только с одним пустым параметром
(как указано в документации в примере использования команды FileCrypt), и получал ошибку.
[email protected]=-, большое спасибо!



#7 [email protected]=-

[email protected]=-

    Полковник

  • Администраторы
  • 963 сообщений
  • Пол:Мужчина

Отправлено 27 Сентябрь 2013 - 13:51

Если присмотреться к объявлению этой функции в "quickbms.txt", то видно, что там обязательные параметры (не взятые в квадратные скобки) - это первые два:

Encryption ALGO KEY [IVEC] [MODE] [KEYLEN]

Это небольшая ошибка в документации - я написал письмо автору и попросил поправить.