Сломать за 60 секунд

Xakep, номер #042, стр. 042-062-1

Имеем разработчиков Disciples 2 в их софтверные дыры

Патологоанатом aka Horrific (smirnandr@mail.ru)

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

От каждого по способностям

Прежде чем приготовить армию на защиту мира, нужно заглянуть в директорию, куда установился Disciples 2. Здесь сразу же бросается в глаза директория Globals (где явно должны храниться глобальные ресурсы игры). Заходим в нее и видим большое количество файлов с расширением DBF. Но это же расширение используют базы данных dBASE! Неужели игра хранит свои ресурсы в виде примитивной базы? Поразительно, но это факт! Значит, надо запастись каким-нибудь редактором, который умеет расковыривать такие файлы.

Какой именно редактор баз данных выберешь ты, зависит исключительно от твоих личных предпочтений, для нашей сегодняшней задачи это как-то по пейджеру. Я могу только посоветовать SQL Explorer или Database Desktop, которые идут вместе с языками программирования Delphi или C++ Builder. Вообще-то, большинство языков программирования включают в себя подобные утилиты, поэтому выбор оставляю за тобой, а я все буду показывать на примере Database Desktop.

Марш-бросок

Database Desktop можно установить и отдельно от Delphi. Он часто идет на дисках отдельным инсталлятором, поэтому если ты не кодер и не собираешься им быть, то есть смысл поискать отдельную инсталляшку. Это можно сделать даже на сайте дяди Бормана www.borland.com. После запуска Database Desktop ты можешь увидеть простое окно с минимумом кнопок и полное отсутствие прибамбасов. Прога до наивности проста, поэтому ничего особенного ты тут не найдешь.

Чтобы открыть базу данных, нужно выбрать File-Open-Table. Как ни странно, перед тобой появится стандартное окно открытия файла. Перейди в ту директорию, куда ты установил игру, и зайди в папку Globals. Какой же файл нам открыть, ведь их тут очень много? Можешь открывать хоть все, но я советую начать с Gbuild.dbf.

Кстати, если ты будешь пользоваться Database Desktop, то он открывает базы в режиме чтения. Чтобы перейти в режим редактирования, надо нажать F9 или выбрать из меню Table пункт Edit Data. После этого можно редактировать что угодно.

Как только ты откроешь файл Gbuild.dbf, то сразу увидишь окошко, разбитое на колонки, представленное в виде таблицы (см. рисунок 1). Сверху каждой колонки находится ее название, а каждая строка нашей таблицы - это информация о каком-либо здании или воине, которого можно создать.

Налоговая реформа

Как я уже сказал, в файле Gbuild.dbf находится инфа о строениях и юнитах. Самое примитивное, что можно сделать - это перейти в последнюю колонку и изменить название строения или воина. Но я не советую тебе сильно здесь извращаться, потому что на ход игры сделанные здесь изменения не повлияют. Приведенный здесь текст - это только комментарий для тебя, чтобы тебе легче было видеть, какую строку ты редактируешь.

Содержание  Вперед на стр. 042-062-2

ttfb: 3.9980411529541 ms