从XP开始支持VEH:
LONG CALLBACK VectoredHandler(
[in] PEXCEPTION_POINTERS ExceptionInfo
);
//注册回调函数
PVOID WINAPI AddVectoredExceptionHandler(
__in ULONG FirstHandler,
__in PVECTORED_EXCEPTION_HANDLER VectoredHandler
);
//删除回调函数
ULONG WINAPI RemoveVectoredExceptionHandler(
__in PVOID Handler
);
SEH和VEH是什么关系,答案很简单,VEH优先权高于SEH,只有所有VEH全不处理某个异常的时候,异常处理权才会到达SEH.只要目标程序中没有利用VEH,你的VEH就是第一个得到控制者.嘿嘿,现在的采用SEH作为异常处理的普通C/C++程序对你不会再有干扰了!你可以用VEH来hook了,god!
参考:
http://hi.baidu.com/liguocan/blog/item/44b983197e43444042a9ad1e.html