Здрасьте кул-хацкеры! Продолжим
заставлять работать проги так, как мы хотим!
Сегодня мы рассмотрим ... нет что-то не то 😉
как будто лекция какая-то! В общем пришел я
как-то к другу, а он мне и говорит: "Я тут NFS
IV достал, скоро отдавать, а он без диска не
пашет. Помоги!" Ну я тут же его
дизассемблировал, думал ничего сложного, но
этот экземпляр оказался крепким орешком.
Прикол в том, что все Виндосовские функции
не имели названия, вернее имели но одно и то
же для всех - Kernel32! Я немного прифигел, но не
сдался! Короче забрал я у перца диск, пришел
домой, дизассемблировал и стал смотреть.
Первым что я сделал, я запустил игру без
диска. Она в свою очередь выдала мне
неказистый Форточковый диалог, мол диск-то
вставьте! Я ухмыльнулся, залез в String Data Reference
и нашел нужную мне строку. Кликнув на нее
два раза, увидел кусок проги, где эта строка
используется, и опять прифигел! Оглядел
процедурку и решил, что без стакана или
ящика пива не разберешься, но тут же
вспомнил, что есть такая полезная фича -
трейсиг! Начал трейсить (Debug\load process\load) и
дошел до того места программы, где она
выдает мне то самое окно. Кстати, я забыл
рассказать про полезные примочки Win32DASM. Во
время трасинга процедуры можно
перескакивать или входить в них. Делается
это с помощью кнопок Step over и Step into
соответственно. Ну вот, дошел, значит, до
того места, где прога диск просит вставить.
Вставил диск и опять начал трейсить. Опять
дошел до того же места, но теперь прога, не
доходя до сообщения, прыгала куда-то. "Понятно!"
- сказал
я и залез в HEX Editor. Переправил Jne на Jmp, код
которого - EB (да, кстати, нужный нам прыжок по
адресу 004F4764) и запустил прогу. Сообщения не
появилось, но открылся CDROM. Я опять начал
трейсить. Оказалось, что прога еще смотрит
что за диск вставлен в CDROM, и если диск не NfS
то открывает его. Опять протрейсил с диском
NfS и c левым диском, и нашел место, где прога
определяет диск, а потом в случае если диск
NfS прыгает (во заело! :). Переправил его (адрес
- 004F47BC) на Jmp и опять запустил игру, в полной
уверенности, что сейчас сработает, но не тут-то
было. Прога, как будто зависла! Опять стал
трейсить и нашел место, где игра
зацикливается и проверяет все Drive'ы, а если
диска нет, то она не прыгает и зависает.
Правим прыжок на jmp (адрес 004F479E), запускаем и
видим новое окно 🙂 которое гласит: "Чтобы
поиграть в NfS вы должны вставить диск в
СиДиРОМ :)" Это окончательно добило меня.
Ну наглость какая-то! Ребята из EA хорошо
постарались, чтобы усложнить нам жизнь. Но
это не могло меня остановить, и я снова
начал трейсить. Потрейсил и попал в такой
вот адрес - 00501D05. Здесь прога после
очередной проверки, решала кидать
сообщение или нет. Меняем je на nop nop, коды
которых - 90, и радуемся жизни. Заметьте
менять нужно именно на два nop, так как код je -
74CC, и это одна команда, а если СС останется,
то будет ошибка. Запускаем NfS и радуемся
плоду своих трудов. Ой, чуть не забыл, для
того чтобы игра запустилась, в реестре по
адресу HKey_Local_Machine\Software\Electronic Arts\Need For Speed High
Stakes\1.0\SrcDrive, нужно вписать путь к папке DATA в
катологе NFS на вашем диске и скопировать с CD
мувисы и музон (последний найдите сами :).
Все! Играйте, а я пошел, а то меня совсем
запинают 🙂 ...
-
BAT в 21-ом веке
Все наверное уже давно позабыли старый добрый DOS. А ведь иногда приходится работать в усл… -
Как самому написать BackDoor: Asm + Delphi #4
Продолжаем цикл статей по написанию BackDoor. Первые части можно найти здесь и на http://w… -
Несколько часов с Menuet`ом
Неделю тому назад, забравшись в очередной раз на сайт mail.ru, дабы посмотреть свежую почт… -
Win32Asm Tutorial
Итак, юные хакеры, сейчас я проведу небольшой ликбез, который поможет вам расширить и углу… -
Win32Asm Tutorial #3
А теперь перейдём к очередной проге - серверу простой (но это ещё не значит мало функциона… -
Win32Asm Tutorial #3
А теперь перейдём к очередной проге - серверу простой (но это ещё не значит малофункционал…
-
Проги, которые изменили мир
Хочу начать с такого понятия, как "Мода на методы взлома". К хаку это имеет немалое отноше… -
Игры без CD или ломаем KERNEL32.DLL
Грин, Грин у меня тут игрушка прикольная, прикольная. Но без CD-ка не работает. -
Защита программ от дизассемблирования
Наверное каждый из вас сталкивался с проблемой что-то изменить в какой-то чужой проге. Есл… -
-
-
Убийца жестких дисков
Хе-хе.. блин, вот, когда ходишь ты по сайту и вдруг замечаешь, что там есть раздел "Програ…