Невозможно передать исключение в Olly Debugger

Я отлаживаю программу с помощью Olly Debugger. Он устанавливает обработчик исключений при выполнении следующим образом:

push 004010a9
xor eax, eax
push dword ptr fs:[eax]
mov dword ptr fs:[eax], esp

Итак, обработчик исключений, расположенный по адресу 004010a9, установлен.

Следующая инструкция вызывает нарушение доступа к памяти, как показано ниже:

add eax, 40
sub dword ptr ds:[00410000], eax

Поскольку код не имеет прав на запись в раздел кода, он вызывает нарушение доступа к памяти и останавливается.

Теперь у меня есть возможность передать исключение программе, нажав Shift + F9.

Однако, когда я нажимаю, ничего не происходит, и программы остаются в состоянии паузы.

Моя цепочка SEH на данный момент выглядит так, как показано ниже:

004010a9 // exception handler installed above
7c839aa8 // final exception handler

Мои параметры отладки в Olly Debugger установлены, как показано ниже:

На вкладке «Исключение» у меня отмечен только следующий параметр:

Игнорировать нарушения доступа к памяти в Kernel32

Я не могу понять, почему программа не передает исключение обработчику исключений, расположенному по адресу 004010a9, когда я нажимаю Shift + F9, поскольку это обработчик исключений текущего потока.

Спасибо.


person Neon Flash    schedule 05.03.2012    source источник


Ответы (1)


check mark ignore the following exceptions и или флажок диапазона

click кнопка add last exception

the list box должно быть filled with c0000005 access violation после нажатия кнопки

press ok .

ollydbg is now setup, чтобы разрешить передачу said exception в программу

shift + f9 will only work теперь, чтобы передать другое исключение, скажем, разделить на zeor, эту процедуру нужно выполнить снова

или вы можете добавить полный диапазон от 0 до ffffffff

person blabb    schedule 21.05.2014