從XP開始支持VEH:
LONG CALLBACK VectoredHandler(
[in] PEXCEPTION_POINTERS ExceptionInfo
);
//注冊回調(diào)函數(shù)
PVOID WINAPI AddVectoredExceptionHandler(
__in ULONG FirstHandler,
__in PVECTORED_EXCEPTION_HANDLER VectoredHandler
);
//刪除回調(diào)函數(shù)
ULONG WINAPI RemoveVectoredExceptionHandler(
__in PVOID Handler
);
SEH和VEH是什么關(guān)系,答案很簡單,VEH優(yōu)先權(quán)高于SEH,只有所有VEH全不處理某個異常的時候,異常處理權(quán)才會到達(dá)SEH.只要目標(biāo)程序中沒有利用VEH,你的VEH就是第一個得到控制者.嘿嘿,現(xiàn)在的采用SEH作為異常處理的普通C/C++程序?qū)δ悴粫儆懈蓴_了!你可以用VEH來hook了,god!
參考:
http://hi.baidu.com/liguocan/blog/item/44b983197e43444042a9ad1e.html