Электронная библиотека

Хакер


Хакер

Xakep, номер #005, стр. 005-070-2


Ищи "геройского" разработчика - New World Computing. Он там есть. Заползай в его директорию, пошарься в ней... Вскоре тебе на глаза попадается строка CDDrive "D:\". То есть прямо указан путь к твоему компакту! Поганенько ухмыляясь, меняем "D:\" на "С:\".

Ты закрываешь rededit.exe и, топопясь, запускаешь "Героев"... облом. Опять игра грязно занудствует, что сидюка не видит, и без него идти не хочет.

Ладно, давай мыслить логически. Как игра определяет, ее это диск или нет? Она может: 1 - проверять метку диска; 2 - проверять наличие определенных файлов; 3 - проверять, что на него ничего нельзя записать; 4 - что системная функция Windows (Win32 API) сообщает о том, что указанное устройство - CD-ROM. Деваться некуда, начинаем пробовать по порядку.

3. Посмотри, какая метка диска у компакта с игрой. Такую же метку сделай у диска <С:> (пуск/выполнить, label c: Heroes3). Запускай игру. Гм. Ну что ж, отчаиваться не с чего, перейдем к следующему пункту.

4. Наличие каких файлов может проверять игра? Ежу понятно: тех, где записаны данные, которые она читает непосредственно с компакта. Смотрим компакт. На удивление, круглый. Теперь смотрим его содержимое. В директории Heroes3 находится поддиректория Data, в которой два файла: Heroes3.snd и Heroes3.vid. Ага. Копируем всю директорию Heroes3 с компакта в корень диска (понял, почему тогда не надо было ставить игру в директорию Heroes3? - перестраховавшись таким образом, ты избавил себя от необходимости делать лишнюю инсталляцию).

Что, не помещаются файлы на твоем диске ? А ты что ж думал - махина такая, четыреста мегов! Но деваться некуда, освобождай место. Хакеризаторское мастерство требует жертв, и пусть ими падут самые невинные из твоих файлов. Теперь запускай игру. ЗАРАБОТАЛО!!! Ну вот, а ты сомневался. Гибель твоих файлов оказалась ненапрасной.

5. Но и все же, и все же... 400 мегов - это ни в какие ворота не лезет. Как бы от них избавиться? Точнее, от него. От здоровенного файла Heroes3.vid, который нам "не нравится". Попробуй, сотри его. И запусти игру. Опять она талдычет, что отсутствует CD. Так-с... ну, давай еще разок помыслим логически. Игра может проверять наличие файла, его содержимое, длину и атрибуты. Погнали по порядку.

6. Открой любой текстовый редактор и запиши пустой файл под именем Heroes3.vid туда, откуда ты его стер. Запускай игру. Заставки опять нет, но игра не говорит, что не нашла CD! Ну вот и опаньки.

Итак, после всех экспериментов на винте у тебя осталась директория Heroes3 размером 9 мегабайт и проинсталлированная игра размером 200 мегабайт. Можешь попробовать изменить метку диска C: на прежнюю - выяснится, что игра все равно идет "нормально". Значит, она проверяет только наличие файлов. Хочешь сам что-нибудь сделать - поколдуй над сравнительно маленьким файлом Heroes3.snd...

Назад на стр. 005-070-1  Содержание  Вперед на стр. 005-070-3