Итак, я наконец утянул Van Buren. Конечно, я не слишком силён во взломе и вскрытии игр, но с Van Buren я всё-таки сумел кое-что сделать.
Обычно такие статьи пишут уже через пару дней после выхода игры. Но так как к этому времени игру ещё никто не исследовал детально, то я постараюсь описать простейшие приёмы, которые я использовал для вскрытия.
Get ready!I. Шаг первый - ресуры: Первым делом я, как говорится, "пробил" формат GRP (именно в нём хранятся все ресурсы Van Buren) по базе данных. Варианты типа "Формат Windows Progman" (некоторого менеджера задач из Windows 3.11) я отмёл сразу. Был довольно разумный вариант - формат архивов Duke Nukem 3D. Но, проверив это предположение, я пришёл к неутешительному выводу - это не он.
Тогда оставался последний вариант - тяжёлая артиллерия, предназначенная исключительно для выдирания файлов - HyperRipper (т.е. обратно файл таким образом не запихнуть; но это хоть что-то, и, возможно, поможет будущим исследователям, если таковые будут). HyperRipper - это плагин Dragon Unpacker.
Сам Dragon Unpacker я находил уже давно, и не факт, что теперь его можно найти на просторах Интернета. Потому я выкладываю его portable-версию. Берите отсюда (плагин прилагается):
www.estw.narod.ru/DUPACK5.rarИтак, для того, чтобы вытащить нужное, делаем так:
1. Распаковываем архив, запускаем программу. Выбираем язык (русского нет).
2. Заходим дальше в меню основного окна: File\HiperRipper.
3. HiperRipper - мощный инструмент, но для достижения идеальной производительности нуждается в настройке. Поэтому в открывшемся окне идём во вкладку "Advanced". Там выбираем в разделе "Buffer memory" размер "1024 bytes". Далее в пункте "Memory rollback" берём "Default Rollback (128 bytes)". Этого должно хватить. Остальные параметры на этой вкладке можете не настраивать.
4. Дальше идёте на вкладку "Search". Там в поле Source задаёте нужный файл (основная масса GRP-файлов хранится "Папка_куда_установлена_игра\data". Заодно установите галочку в пункте "Create HyperRipper File (HRF):".
5. Какой формат файлов вы ожидаете получить? Картинки? Звуки? Видео? (конфиги, модели и карты он, к сожалению, не вытянет). Определились, исходя из названия файла? Теперь идите на вкладку "Formats". Там отключаете все ненужные форматы и включаете нужные (внизу окна есть кнопки, очень облегчающие данный процесс).
6. Вот теперь Вам опять на "Search". Теперь нажимайте на кнопку "Search" и ждите завершения процесса.
7. Вот теперь, как увидете надпись "Freeing ressouces... Done!", жмите "Ок" - и Вы попадаете в основное окно Dragon Unpacker'а. Если Вы угадали содержимое архива и всё сделали правильно, то увидете там список файлов. Выделяйте их все, кликайте правой правой клавишей, выбирайте в контекстном меню "Extract Files to...\Without Converion". Указывайте папку, опять нажимайте "Ок" и ждите (иногда будет казаться, что программа повисла, т.к. никак не реагирует. Но, скорее всего, это не так - и Вы увидите результат.
Самый простой способ я изложил - теперь слово за профессионалами, которые смогут исследовать этот формат и придумать упаковщик.
II. Шаг второй - исходники (дорабатывается): Итак, существует возможность получить исходники Van Buren? Я считаю, что да. Для начала я проанализировал защиту файла. Для последующих операций используйте следующие утилиты: PEiD и Pe-Scan. Брать обе в одном архиве отсюда:
www.estw.narod.ru/h.rarОткрытие файла в этих программах выполняется "в один клик", посему расписывать подробно сам процесс не буду.
Сканируем при помощи Pe-Scan и выясняем, что файл F3.exe ничем не защищён. Отлично.
Теперь PEiD. И вот что выясняется - Van Buren создан при помощи Microsoft Visual C++ 7.0.
Сегодня я уже не успеваю найти декомпилятор и узнать, не защищены ли исходники обфускатором или чем похуже... Но, похоже, исходники не сильно защищены.
В ближайшее время я доложу о результатах попытки декомпиляции...