03.04.2014 Views

Май - Xakep Online

Май - Xakep Online

Май - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

взлом<br />

DVD<br />

На нашем DVD ты<br />

найдешь все программы,<br />

упомянутые<br />

в этой статье.<br />

!<br />

Эта статья — плод<br />

воображения автора.<br />

Все совпадения с<br />

реальным взломом<br />

— случайность :).<br />

Помни: за нарушение<br />

тобой закона ни<br />

автор, ни редакция<br />

ответственности не<br />

несут!<br />

Никаких нагов!<br />

выделив его целиком и выбрав в меню правой кнопки мыши<br />

«Delete Thunks». Таблица импорта воссоздана, осталось исправить<br />

файл дампа. Для этого нажми на кнопку «Fix Dump» и<br />

укажи программе файл dump.exe. В директории с программой<br />

будет создан файл dump_.exe, который и следует запустить.<br />

Он работает, а это значит, что мы распаковали исполняемый<br />

файл. Теперь нужно лишь набраться терпения и, отыскав<br />

сообщение о необходимости получения регистрационного<br />

ключа, удалить его.<br />

Взлом<br />

Переходим к основной части нашего тривиального взлома.<br />

Загрузи dump_.exe под OllyDbg. Теперь в коде можно легко<br />

отыскивать нужные места и патчить их как заблагорассудится,<br />

ведь AsPack уже снят. Поговорим о выдаваемом<br />

сообщении. Запуская наш твикер, мы видим, что кнопка<br />

«OK» на диалоговом окне-наге недоступна для нажатия<br />

до тех пор, пока не пройдет определенное количество<br />

времени. Это означает, что здесь не обошлось без таймера.<br />

Последний обычно устанавливается функцией SetTimer.<br />

Попробуем установить на нее точку останова. Жми <br />

(если у тебя стоит плагин CommandBar) и вводи команду bpx<br />

SetTimer. Запускай программу на исполнение (). Мы тут<br />

же прервемся по адресу 0043557f, где и находится нужная<br />

нам функция. Теперь необходимо проанализировать, что же<br />

происходит после того, как «время пошло». После установки<br />

таймера программа выдает окошко (ShowWindow), поэтому<br />

нужно немного протрассировать программу () — до<br />

места, где эта процедура вызывается (это происходит по<br />

адресу 0048221E). По логике, проверка того, не закончилось<br />

ли время, отведенное таймером, является циклом. Поэтому<br />

трассируем и дальше, пока не наткнемся на цикл по адресу<br />

00482838 (на то, что это то, что мы искали, указывает и функция<br />

SendMessage, расположенная чуть выше). Я расскажу,<br />

Восстановление импорта в ImpRec<br />

как деактивировать его. Переходом на начало цикла управляет<br />

инструкция:<br />

0048287E JE SHORT dump_.00482838<br />

Нам нужно всего лишь удалить этот переход! Для этого<br />

выдели его, нажми пробел и введи в появившемся окне<br />

«nop» (это инструкция «холостого хода», она ничего не<br />

выполняет), установи флажок «Fill with NOP’s» и дави «OK».<br />

Теперь нажимай . Все получилось! Осталось лишь<br />

сохранить сделанные изменения: выдели nop’ы, которыми<br />

мы заменили переход, располагавшийся по адресу 0048287E,<br />

нажми на правую кнопку мыши и выбери «Copy to executable<br />

Selection». Далее в появившемся окне в меню выбери<br />

«Save File» и сохрани файл под любым именем (к примеру,<br />

dump_2.exe). Запускай этот файл и наслаждайся результатом! z<br />

/ 092<br />

xàêåð 05 /101/ 07

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!