Каков принцип точки останова памяти ollydbg? - PullRequest
2 голосов
/ 22 сентября 2010

Кажется, можно установить только 1 точку останова памяти, и, кажется, не имеет значения, на какой строке установлена ​​точка останова памяти, очень странно, кто-нибудь может объяснить?

Ответы [ 2 ]

6 голосов
/ 02 марта 2011

Точки останова памяти в Ollydbg применяются к блоку памяти.Обратите внимание, что наименьший возможный блок обычно составляет 4096 байт (размер страницы).Вы можете выбрать кусок кода в представлении дизассемблера и установить для него точку останова памяти.Вы можете установить точки останова памяти либо при доступе, либо при записи.Это внутренне реализовано с помощью защитных страниц, которые используют модификатор PAGE_GUARD.При обращении к памяти (чтение / запись) возникает исключение STATUS_GUARD_PAGE_VIOLATION, которое обрабатывается Ollydbg.

Пример

Вы хотите, чтобы Ollydbg сломался, когда модуль загружается по определенному адресуили диапазон).Вы можете перейти к представлению «Память» в Ollydbg, выбрать диапазон адресов и установить для него точку останова памяти.

0 голосов
/ 09 октября 2010

OllyDbg использует int 3 для установки точек останова, и вы можете установить столько точек останова, сколько захотите.

Проверьте, действительно ли вы определяете точки останова в сегменте кода, а не в данных.

...