Cracking: шаг второй

Xakep, номер #045, стр. 045-040-2


Дизассемблируем

Первое, что мы делаем, - загружаем файл mailthem.exe в дизассемблер IDA Pro. Первоначальный анализ начинается автоматически. После того как дизассемблирование завершится, необходимо убедиться, что IDA подключила нужный модуль с сигнатурами библиотечных функций Delphi. Для этого идем в меню View и выбираем пункт Signatures. Если открывшийся список пуст, жмем клавишу [Insert] и из полного списка поддерживаемых библиотек выбираем модуль для Delphi. После того как процесс распознавания завершится, открываем список найденных функций (пункт меню View/Functions). Чтобы в этом окне быстро найти нужную функцию (а их там будут тысячи), достаточно просто набрать ее имя на клавиатуре. Нас интересует одна - TCustomForm::Show. Этот вызов наследуется всеми оконными формами в Delphi, и именно с его помощью мы отловим вывод nag-окна. Жмем [Enter], теперь в окошке с дизассемблированным текстом программы (чтобы быстро переключиться на него, нажми [Alt][2]), указатель встал на начало этой функции. Сразу же запишем ее адрес 0044EE90 (здесь и далее все адреса и смещения - шестнадцатеричные), он нам еще понадобится. Справа, в виде комментария, указаны адреса, откуда функция вызывается. Так как их много, то изучать эти вызовы в дизассемблере - занятие долгое, и мы переходим к следующему шагу - использованию отладчика SoftICE.

Сам процесс взлома

Запускаем Symbol Loader (загрузчик для SoftICE). Открываем в нем наш файл mailthem.exe (через пункт меню File/Open Module). Убедись, что в настройках загрузчика (меню Module/Settings) в разделе Debugging стоит галочка у пункта Stop at WinMain, Main, DllMain, etc. Это заставит SoftICE сразу после начала отладки остановить процесс выполнения программы (нам это пригодится). А теперь запускай отладку (Module/Load). Загрузчик сообщит об отсутствии отладочной информации, забудь об этом, ни в одной коммерческой программе ты ее, скорее всего, никогда и не увидишь, так что просто продолжай загрузку.

Итак, мы оказались в главном окне отладчика. Ты удивлен, что перед тобой обычная командная строка. Забудь про красивые окна, мощь командного языка SoftICE огромна и не уместится ни в одном гуевом интерфейсе. Первым делом убедись, что, кроме области командной строки, отображены все окна, которые понадобятся при работе. Основные - это регистры процессора, данные и непосредственно исполняемый код на языке ассемблера. Переключаются они командами WR, WD и WC, соответственно. Для ознакомления с другими командами набери HELP (или просто H). А FKEY расскажет тебе об используемых горячих клавишах.

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