從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