Это и есть правильный пароль для нашего имени. Теперь, записав его на бумажку, выходим из отладчика, вводим полученный пароль и получаем сообщение о правильной регистрации. Как можно догадаться, выбранное прерывание не единственное, основные вы можете видеть ниже. Помимо этого можно установить прерывания на адрес bp XXXXX. Прерывание ставится на вызов определенной функции. Мы ставили на загрузку иконки, но можно поставить на считывание введенных данных, на появление сообщения, на звук сообщения, на обращение к файлу и т. д. Буква А в конце функции означает, что используется 32-битное приложение. Если ее нет, значит, приложение 16-битное. Эту букву вы можете добавлять или убирать в зависимости от типа программы. Общие брейкпоинты: bpx hmemcpy bpx MessageBoxA bpx MessageBoxExA bpx MessageBeep bpx SendMessage bpx GetDlgItemTextA bpx GetDlgItemIntA bpx GetWindowTextA bpx GetWindowWordA bpx GetWindowIntA bpx DialogBoxParamA bpx CreateWindow bpx CreateWindowEx bpx ShowWindow bpx UpdateWindow Временные брейкпоинты: bpx GetLocalTime bpx GetFileTime bpx GetSystemtime bpx GetTickCount bpx FileTimeToSystemTime Ищем SN Теперь под нож пойдет программа под названием PowerArchiver 2004 9.20. Из названия понятно, с чем она связана, и скажу, что свою работу она выполняет достаточно неплохо, так что выбрана она не только как пример, но и для использования. Как всегда следуем по пунктам. PEiD покажет, что программа написана на Delphi 6.0. Это облегчает задачу, так как в случае неудачного поиска SN мы всегда можем прибегнуть к помощи DeDe и сделать хороший патч. На этот раз мы не будем использовать W32Dasm, так как он не покажет серийного номера. Пустим в дело отладчик OllyDbg. Он сработает на прерывание, но прежде нужно определить, какое прерывание ставить. Для этого ищем признаки незарегистрированности. При запуске мы его легко находим - это предложение о вводе серийного номера или покупки программы.