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