Защита от хакеров корпоративных сетей. Коллектив авторов
сведения о золотом запасе, и изменить их.
Использованная автором техника немного отличается от изложенной в этой главе, главным образом потому, что тогда в распоряжении автора были программные средства более примитивные, чем сегодня. Запомнив количество золота, автор сохранял игру, а затем завершал ее. В его распоряжении был редактор секторов – программа, позволяющая непосредственно редактировать сектора диска, обычно в шестнадцатеричном формате. Используя функцию поиска редактора, можно было по имени своего героя найти приблизительное место хранения информации, интересующей автора. Короче говоря, автор нашел несколько чисел, соответствующих золотому запасу героя на момент сохранения игры. Увеличив эти числа и сохранив изменения на диске, после загрузки игры автор убедился, что золотой запас героя возрос. Эврика! Это был первый хакинг автора. Таким образом, автор наткнулся на прием, который будет служить ему в течение многих лет.
Автор смог расширить свое маленькое исследование и написал редактор героев Ultima 2, который позволил ему изменять такие свойства героев, как их сила, ум, количество и тип оружия, амуниция и т. д. Конечно, сегодня, по прошествии многих лет, он раскаивается по поводу содеянного. (К сведению читателя автор сообщает, что недавно вышла Ultima IX. В среднем производитель выпускает новую версию игры каждые 2 года.) В настоящее время автор играет в разные фантастические ролевые игры, например Heroes of Might and Magic II, где игрок играет роль героя, пытающегося добыть золото, совершенствующего свое мастерство в деле убийства монстров… Ну, вы поняли идею. На рисунке 5.6 показан старт типичной игры.
Рис. 5.6. Начало игры Heroes of Might and Magic II
В частности, обратите внимание на золотой запас героя: 7500 порций. Первое, что делает автор, – он сохраняет игру под именем hackl. Затем он изменяет золотой запас на минимально возможную сумму. Вскоре автор объяснит причину своих поступков. Самое простое – это купить что-нибудь недорогое. Автор обычно отправляется в замок и покупает скелет – одну из самых дешевых вещей. После покупки скелета у автора становится 7425 порций золота. Автор сохраняет игру под именем hack2 и затем в режиме командной строки запускает команду сравнения файлов, как показано на рис. 5.7.
Рис. 5.7. Протокол сравнений двух файлов командой DOS fc
Команда fc сравнивает два файла. Если задать опцию /b, то выполняется побайтное сравнение. В результате печатается отчет найденных различий в шестнадцатеричном виде. Поэтому следующее, на чем следует остановиться, – это калькулятор Windows (программа calc.exe), который позволяет перевести числа 7500 и 7425 из десятичной системы счисления в шестнадцатеричную. Если выбрать подменю Scientific меню View калькулятора, то станут доступными дополнительные возможности преобразования чисел, включая преобразование из десятичного формата в шестнадцатеричное, что нам и требуется. При выбранном режиме Dec следует набрать 7500 и затем щелкнуть на кнопке Hex. В результате получим представление числа 7500 в шестнадцатеричной системе счисления 1D4C. Повторив то же самое для числа 7425, получаем 1D01.
Просмотрев