Я нашел функцию, написанную на c ++, которая способна обнаруживать отладчик, когда я выполняю
xor eax, eax
div eax
, но проблема в том, что, когда отладчик подключен, процесс падает после достижения div eax
.Я поместил этот встроенный asm в секции __try и __except, но после достижения инструкции div eax
процесс просто зависает.Весь код:
#include "windows.h"
#include <iostream>
using namespace std;
LONG WINAPI UnhandledExcepFilter(PEXCEPTION_POINTERS pExcepPointers) {
SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)pExcepPointers->ContextRecord->Eax);
pExcepPointers->ContextRecord->Eip += 2;
return EXCEPTION_CONTINUE_EXECUTION;
}
int main() {
SetUnhandledExceptionFilter(UnhandledExcepFilter);
__try {
__asm {
xor eax, eax
div eax
}
}
__except (EXCEPTION_INT_DIVIDE_BY_ZERO) {
cout << "DEBUGGER NOT FOUND" << endl;
}
return NULL;
}
Мне нужно просто тихо обнаружить отладчик.Спасибо за любую помощь.