调用 CheckRemoteDebuggerPresent()¶
CheckRemoteDebuggerPresent() 是能告诉你调试器是否附加到当前进程的 Windows API 函数。检查调试器的代码可能看起来像这样:
bool IsRemoteDebuggerPresent() {
BOOL dbg = false;
CheckRemoteDebuggerPresent(GetCurrentProcess(),
&dbg);
return dbg;
}
这个检查非常直接——它用当前进程和指向 dbg 布尔值的指针调用 CheckRemoteDebuggerPresent()。调用这个函数是检测调试器最简单的方法,但调试器也非常容易规避它。