|

Хакер vs Шаровары
FINNAN (finnan@mail.ru)
Xakep, номер #022, стр. 022-060-2
Если ты перезагрузишься, то опять придется проделать все эти действия, чтобы получить нормальный вид консоли. Чтобы не настраивать каждый раз, делаем так: запускаем Symbol Loader, выбираем Edit -> SoftICE Initialization Settings. Теперь в окошечке находим Initialization String - по умолчанию там стоит "X;", и через "; " вписываем необходимые команды. У меня это выглядело так: "LINES 70;WIDTH90;WD;WR;WL;X;". Где "X;" - команда, закрывающая консоль после инициализации. Если эту команду убрать, то при загрузке SoftICE-а каждый раз будет появляться консоль.
Теперь команды, часто используемые в работе:
<F1> - Help
<F4> - показать содержимое экрана Windows
<F5> - выйти
<F6> - перевести курсор в окно кода или из него
<F7> - выполнить команды от текущей строки до курсора
<F8> - трассировка с заходом в функцию
<F9> - контрольная точка в текущей строке
<F10> - трассировка без захода в функцию
<F12> - выполнить команды до ret включительно (т.е. подняться на шаг вверх по иерархии вызовов функций)
BPX xxx - поставить точку прерывания на адрес, функцию API (кстати, на том же сайте есть неплохое описание функций API Windows - рекомендую, в жизни пригодится не раз)
BPM yyy - поставить точку прерывания на обращение по адресу yyy памяти
(bp - сокращение от Break Point)
BL - список всех установленных BP
BD n_of_bp - деактивизировать (т.е. временно выключить) BP
BE n_of_bp - активизировать BP
BC n_of_bp - удалить BP
В этих командах n_of_bp - номер BP, который можно узнать командой BL.
D addr - отобразить в окне данных память, начиная с addr
DB, DW, DT, DD, DS - разновидности команды D, отличающиеся только форматом отображения. Поэкспериментируй - все поймешь.
Команды можно использовать и с регистрами, и с выражениями, например: "DB eax + 08" - показать, что лежит по адресу eax +08.
A - ассемблер. Если хочешь изменить какую-нибудь команду или группу команд, используешь ее. Чтобы закончить, нажми Esc. При этом, естественно, изменится только память, и при следующей загрузке подопытной программы все будет как прежде. Но об этом позже.
Все. Необходимый минимум знаний о SoftICE у тебя уже есть, и мне кажется, что тебе не терпится поскорее что-нибудь сделать (читай - хакнуть) с помощью этого крутого отладчика.
Теперь отхлебни пива и вникай: я тебя посвящу в основы хака shareware-прог на примере CuteFTP v 4.0 (этот FTP-клиент можно слить с ftp1.cuteftp.com/pub/cuteftp/).
SoftICE для хака
Ставь это чудо программерской мысли и запускай. Сразу бросается в глаза "There are 30 days remaining in your 30 day evaluation". Путь пока радуется, скоро исправим ;).
Вообще, при взломе shareware есть несколько путей (по возрастанию сложности):1. Используя проги типа EasyClean, FileMon, RegMon и т.д., подчищаем систему и переставляем программу раз в месяц, что очень запарно.
2. С помощью SoftICE-а находим функции GetSystemTime, GetDateFormat и др. (подробнее смотри API Windows) и "патчим" исходник так, чтобы время для проги остановилось. Результат - крек, патч или уже пропатченный екзешник. Это лучше, чем 1-й способ, но некоторые программы блокируют свои вкусные возможности до регистрации, и тогда он не поможет.
Назад на стр. 022-060-1 Содержание Вперед на стр. 022-060-3
|