异常处理第二讲,结构化异常(微软未公开)
讲解之前,请熟悉WinDbg的使用,工具使用的博客链接
一丶认识段寄存器FS的内容,以及作用
首先我们要先认识一下段寄存器FS的作用,和内容...看下帖子内容,请点击: https://bbs.pediy.com/thread-175833.htm
二丶从FS寄存器中,查看TEB线程内容,以及异常链表
我们为什么要知道TEB的内容
是这样的,我们以前的筛选器异常...看了上面介绍的怎么多,可能不知道什么意思
其实SHE(结构化异常) 就是使用内联汇编,给每个函数注册一个筛选器异常,然后每个函数都有自己的回调函数,而回调函数是第上面截图的第二个参数Handler,这个是一个函数指针...现在因为他是UChar类型,也就是无符号类型,所以一个字节,会放在al当中,所以我们把al的值,给了变量了.
第四步:输出我们变量的值是什么....OD自动帮我们标出来了结构异常处理程序,
现在看下第二句,压入FS地址的0的内容.也就是旧的异常链表
?
现在栈顶位置,然后重新赋值给FS:[0]的位置
?