antecedentes
STARTUPINFO anti-depuración: cuando el
programa se inicia, utilizará el administrador de recursos del explorador de forma predeterminada. Cuando se llama a la función CreateProcess (), el valor en la estructura STARTUPINFO se establecerá en 0, pero si el programa se inicia a través del depurador , el valor no cambiará. Podemos realizar anti-depuración juzgando el parámetro dwFlags en la estructura.
Código
#include <Windows.h>
#include <stdio.h>
int IsDebug()
{
STARTUPINFO si = {
0};
GetStartupInfo(&si);
if (si.dwFlags != 1)
return 1;
return 0;
}
int main(int argc, char * argv[])
{
int ret = IsDebug();
printf("%d \n", ret);
system("pause");
return 0;
}