Учебник хакера


Softice - часть 17


01) BPMD #015F:0052006C RW DR3

Точка останова с номером 0 установлена на исполнение функции LockWindowInfo и точка останова с номером 1 стоит на доступ к памяти по адресу #015F:0052006C.

Отключите 0 точку останова командой BD (Breakpoint Disable):

:BD 0

В отличие от команды BC, которая удаляет точку останова, команда BD временно отключает точку, т.е. она не будет срабатывать, но ее в любой момент можно включить обратно командой BE (Breakpoint Enable). Отключенные точки останова выделяются звездочками рядом с порядковым номером точки останова.

:BL

00) * BPX LOCKWINDOWINFO IF ((ESP->4)==0x00000730)

01)   BPMD #015F:0052006C RW DR3

Запустите SoftIce командами X или G, когда окно POLYDEMO попытается получить доступ к первому двойному слову экземпляра данных окна, сработает точка останова и SoftIce всплывет, это будет происходить в функциях PolyRedraw и PolyDrawBez. Эти функции обращаются к полю nBezTotal, которое находиться по нулевому смещению в данных экземпляра окна POLYDEMO. Значение этого поля задает количество кривых одновременно выводимых в окно POLYDEMO.

Примечание: Из-за особенностей архитектуры процессоров Intel перехват обращения к ячейки памяти произойдет после исполнения команды обращающейся к памяти, т.е. SoftIce осановиться на следующей команде.

Сбросьте все точки останова командой BC * и выйдете из SoftIce.

 

Эпилог

Если вы добрались до этих строк – значит вы отладили свою первую программу с помощью замечательного отладчика SOFTICE. Но возможности SoftIce не ограничиваются теми, которые мы здесь вкратце рассмотрели, они гораздо больше.

Замеченные ошибки в версии 3.24:

При отладке программы в Code Window неправильно дизассемблируются команды перехода ( JXX SHORT), т.е. стрелочка показывает направление перехода правильно, а в мнемонике он на 100H больше (или меньше – не помню).

Автор выражает огромную благодарность всем тем, кто помогал в написании данного опуса : моей любимое девушке Наденьке; Эрнесту Полетаеву – за приведение в божеский вид того, что я написал и за подробные консультации; Михайлову Антону и Махонину Юре – за идею и возможность осуществления оной; Диме Петрасу – за то что он мой фидошный босс; и всем тем кого здесь нету :-))).

НАЗАД




Начало  Назад  Вперед