跳转至

检查 DBG_RIPEXCEPTION 处理程序

调试器通常有盲目捕获 Windows 的 DBG_RIPEXCEPTION 异常代码的异常处理程序,使该代码成为发现调试器的清晰方式。你可以用与清单 12-1 检测中断处理程序大致相同的方式检测这些异常处理程序:

#define DBG_RIPEXCEPTION 0x40010007
inline bool hasRIPExceptionHandler() {
    __try { RaiseException(DBG_RIPEXCEPTION, 0, 0, 
0); }
    __except(EXCEPTION_EXECUTE_HANDLER){ return 
false; }
}