CheckRemoteDebuggerPresent

Функция CheckRemoteDebuggerPresent - kernel32.dll

BOOL WINAPI CheckRemoteDebuggerPresent(
  _In_     HANDLE hProcess,
  _Inout_  PBOOL pbDebuggerPresent
);

Этот метод концептуально похож на функцию IsDebuggerPresent. Т.е. CheckRemoteDebuggerPresent также проверяет флажок BeingDebugged в PEB блоке целевого процесса. Вызов CheckRemoteDebuggerPresent принимает два параметра: первый – это дескриптор (handle) целевого процесса, а второй – адрес переменной, куда функция возвратит результат (работает ли указанный процесс под отладчиком или нет). Вызов этого API-метода поддерживается, начиная с версии Windows XP Service Pack 1 и старше.

CheckRemoteDebuggerPresent(GetCurrentProcess(), &pbIsPresent);
if (pbIsPresent) {
     MessageBox(NULL, L"Debugger Detected Via CheckRemoteDebuggerPresent", L"Debugger Detected", MB_OK);
} else {
     MessageBox(NULL, L"No Debugger Detected", L"No Debugger", MB_OK);
}

Обратно к содержанию

Пока не указано иное, содержимое этой страницы распространяется по лицензии Creative Commons Attribution-ShareAlike 3.0 License