#2
Valenciax2021-11-20 06:18
|
一个令人困惑的异常处理程序
这程序是从书上看到的:
困惑点1:为什么要用C语言作为参数传递规范?
困惑点2:定义了esi:ptr EXCEPTION_RECORD,但没用到,为什么要定义呢
_Handler proc C _lpExceptionRecord,_lpSEH,_lpContext,_lpDispatcherContext
pushad
mov esi,_lpExceptionRecord
mov edi,_lpContext
assume esi:ptr EXCEPTION_RECORD,edi:ptr CONTEXT
mov eax,_lpSEH
push [eax + 0ch]
pop [edi].regEbp
push [eax + 8]
pop [edi].regEip
push eax
pop [edi].regEsp
assume esi:nothing,edi:nothing
popad
mov eax,ExceptionContinueExecution
ret
_Handler endp