Ver Mensaje Individual
  #2  
Antiguo 01-06-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 12
aguml Va por buen camino
El original era así:
Código PHP:
bool __fastcall TMyThread2::QueryNtSetInformationThread(void)
{
    
HMODULE NtDll;
    
NTSTATUS ntStat;
    
bool check false;
    
bool retval=false;
    
int ThreadHideFromDebugger 0x11;

    
NtDll LoadLibrary(L"ntdll.dll");
    
LONG (WINAPI *NtSetInformationThread)(HANDLE ThreadHandleULONG ThreadInformationClassPVOID ThreadInformationULONG ThreadInformationLength);
    
LONG (WINAPI *NtQueryInformationThread)(HANDLE ThreadHandleULONG ThreadInformationClassPVOID ThreadInformationULONG ThreadInformationLengthPULONG ReturnLength);
    *(
FARPROC *)&NtSetInformationThread GetProcAddress(NtDll"NtSetInformationThread");
    *(
FARPROC *)&NtQueryInformationThread GetProcAddress(NtDll"NtQueryInformationThread");

    
//invalid parameter
    
ntStat NtSetInformationThread(NULLThreadHideFromDebugger, &checksizeof(ULONG));
    if (
ntStat >= 0//it must fail
    
{
        
//Detectado con metodo 1
        
return true;
    }

    
//invalid handle
    
ntStat NtSetInformationThread((HANDLE)0xFFFFFThreadHideFromDebugger00);
    if (
ntStat >= 0//it must fail
    
{
        
//Detectado con metodo 2
        
return true;
    }

    
//En x32 si estamos depurandolo se cerrará directamente el proceso
    
ntStat NtSetInformationThread(NULLThreadHideFromDebugger00);

    if (
ntStat >= 0)
    {
        
//only available >= VISTA
        
ntStat NtQueryInformationThread(NULLThreadHideFromDebugger, &checksizeof(bool), 0);
        if (
ntStat >= 0)
        {
            if (!
check)
            {
                
//Detectado con metodo 4
                
return true;
            }
            else
            {
                return 
false;
            }
        }
    }else{
        
//Detectado por metodo 3
        
return true;
    }

    return 
retval;

Pero siempre me decía que me había detectado con el método 3 aunque no hubiese depurador
Responder Con Cita