WEB开发网
开发学院网络安全黑客技术 SEH 结构化异常处理(1) 阅读

SEH 结构化异常处理(1)

 2007-01-14 20:14:43 来源:WEB开发网   
核心提示: EXCEPTION_RECORDstruct{//共6个成员+0DWORDExceptionCode//异常代码,定义了产生异常的原因+4DWORDExceptionFlags//异常标志?+8structEXCEPTION_RECORD//指针,指向另一个EXCEPTION_RECORD
EXCEPTION_RECORDstruct{   //共6个成员
+0 DWORDExceptionCode   //异常代码,定义了产生异常的原因
+4 DWORDExceptionFlags   //异常标志?
+8 structEXCEPTION_RECORD //指针,指向另一个EXCEPTION_RECORD结构
+C DVOIDExceptionAddress  //异常发生的地址
+10DWORDNumberParameters  //与异常联系的参数个数(0~15)一般=0?
+14ULONG_PTRExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS] //异常信息?
}EXCEPTION_RECORDends
//执行完401017指令后,我们在od的代码窗口的看到代码如下:
77FB4DAF> 8B4C2404   movecx,dwordptrss:[esp+4]
77FB4DB3  8B1C24     movebx,dwordptrss:[esp]//来到了ntdll领空,即系统领空
 {
 //马上看看堆栈:
 0012FCCC 0012FCD4-|//指针,指向EXCEPTION_RECORD结构,即EXCEPTION_RECORD的首地址-----这就是EXCEPTION_POINTERS
 0012FCD0 0012FCF0-|//指针,指向EXCEPTION_CONTEXT结构,即EXCEPTION_CONTEXT的首地址---
 0012FCD4 C0000005---------------1--异常代码.这里开始就是EXCEPTION_RECORD结构
 0012FCD8 00000000       2--异常标志=0
 0012FCDC 00000000       3--指针,指向另一个EXCEPTION_RECORD结构,这里=0
                       没有另一个EXCEPTION_RECORD结构,为NULL指针.
 0012FCE0 00401017 Seh.004010174--异常发生的地址,这就是发生异常的那条指令的地址.
 0012FCE4 00000002       5--与异常联系的参数个数=2?
 0012FCE8 00000000       6--异常信息?
 0012FCEC 00000000---------------
 0012FCF0 0001003F---------------这里开始就是EXCEPTION_CONTEXT结构,ContextFlags
 0012FCF4 00000000       Dr0 
 0012FCF8 00000000       Dr1
 0012FCFC 00000000       Dr2
 0012FD00 00000000       Dr3
 0012FD04 0000A000       Dr6
 0012FD08 00000000       Dr7

我们重点看看0012FCF0+B8=12FDA8

上一页  1 2 3 4 5  下一页

Tags:SEH 结构化 异常

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接