2012-03-05 47 views
1

我正在使用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時,因爲它是當前線程異常處理程序。

謝謝。

回答

0

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