windows安全编程
mslieng1011
这个作者很懒,什么都没留下…
展开
-
结构化异常处理(SEH)
结构化异常处理(SEH) 结构化异常处理(SEH) __try : 保护代码块,该代码块产生异常会抛出该异常 __finally : 终结处理器,只要离开保护代码块,就会执行finaly内的语句 __except : 异常过滤, 1 :执行异常处理块,不回到产生异常处 0 :寻找下一个异常处理 -1:回到产生异常处再次执行 unsigned long GetExceptionCo原创 2017-11-05 22:41:48 · 427 阅读 · 0 评论 -
向量化异常处理
VEH : AddVectoredExceptionHandler(0,回调函数) LONG vehExceptionHandler(EXCEPTION_POINTERS* Exceptioninfo) VCH : AddVectoredContinueHandler(0,回调函数) LONG vchContinueHandler(EXCEPTION_POINTERS* Exception原创 2017-11-05 22:42:26 · 1218 阅读 · 0 评论 -
中断与异常
中断: 由一个外部硬件产生,告知CPU,异步事件 异常: 由程序执行过程中引发,与当前处理器正在执行的任务有关,同步事件 中断与异常是由统一管理(IDT - > 中断描述符表) 系统为每一个中断或者异常都提供一个处理函数(陷阱处理器) 当中断或者异常发生,指令的执行就会转到特性的陷阱处理器中, 由该陷阱处理器完成中断或者异常的处理工作. 这些陷阱处理器被放到一张表中(数组 - > I原创 2017-11-05 22:43:24 · 174 阅读 · 0 评论 -
SEH原理剖析
用户层数据结构 TEB TEB 第一个字段是NtTib,NtTib的第一个字段ExceptionList是一个链表的头结点的首 地址. 当产生异常,系统会通过FS:[0]找到这个链表,依次调用处理异常. typedef struct _EXCEPTION_REGISTRATION_RECORD{ struct _EXCEPTION_REGISTRATION_RECORD* next; //原创 2017-11-05 22:44:06 · 1458 阅读 · 0 评论