SEH处理机制

近期做了一道CTF逆向题,牵涉到SEH异常处理机制,简单记录一下。

如果程序引发了异常,程序将利用SEH(Structured Exception Handling)机制处理异常,在处理过程中对程序进行一定的修改。

代码的执行顺序: try->_except filter->except

如果使用IDA,需要开始graph模式,在反编译的C代码中看不到。如下图所示

为了方便调试,可以手工修复异常处理:在触发异常的地方,将代码patch成jmp filter位置;然后,在filter返回位置改成nop,方便执行完filter后转到except处理。

你可能感兴趣的:(SEH处理机制)