Nwlapcug.com


Come rilevare un Debugger

Un problema comune per gli sviluppatori di applicazioni commerciali sta avendo il codice di registrazione di cracking di un progetto software, che consente ad altri di utilizzare il software senza acquistarla. Il metodo standard che utilizzano cracker software è un debugger del software al fine di ottenere l'accesso al codice di programmazione e la chiave di registrazione software risultante. L'interfaccia di programmazione di Windows può essere utilizzato per determinare se un debugger è presente nel computer degli utenti finali e può essere usato per prevenire la chiave di registrazione software vengano rubati.

Istruzioni

1

Aprire il file di origine primario per l'applicazione di software in ambiente di sviluppo programmazione.

2

Digitare il seguente codice per avviare la funzione di rilevamento del debugger nel vostro programma:
funzione MyDebuggerPresent: booleano
VAI
tipo
TDebugProc = funzione: booleano
VAI

stdcall

VAI
var
Kernel32: HMODULE
VAI
DebugProc: TDebugProc;

3

Aggiungere il seguente codice per la funzione di rilevamento del debugger. Le chiamate di funzione utilizzate sono parte dell'interfaccia di programmazione di Windows core e non richiedono librerie software aggiuntivo da utilizzare:
iniziare
{
mYDebuggerPresent
}
Risultato: = False
VAI
Kernel32: = GetModuleHandle('kernel32')
VAI
Se Kernel32 <> 0 quindi
iniziare

@DebugProc := GetProcAddress(Kernel32, 'IsDebuggerPresent')

VAI

if Assigned(DebugProc) then
Result := DebugProc

fine; {<> Kernel32 0
}
fine;
{
myDebuggerPresent
}

4

Ricompilare il software utilizzando l'ambiente di sviluppo. Il programma rileva se un debugger del software è presente sul computer dell'utente finale.