我正在使用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
在奧利調試器我的調試選項,如下圖所示設置:
在例外選項卡,我只有下列選項被選中:
忽略Kernel32中的內存訪問衝突
我無法理解爲什麼程序通過異常不向除離子處理程序位於004010a9當我按下Shift + F9時,因爲它是當前線程異常處理程序。
謝謝。