Wie einen Debugger erkannt
Ein häufiges Problem für kommerzielle Anwendungsentwickler ist den Registrierungscode eines Software-Projekts, die andere Software zu verwenden, ohne es zu kaufen ermöglicht geknackt haben. Die Standardmethode, die Verwenden von Software-Cracker ist ein Software-Debugger, um Zugang zu Ihrem Programmcode und der daraus resultierende Software-Registrierungsschlüssel. Die Windows-Programmierschnittstelle kann verwendet werden, um festzustellen, ob ein Debugger auf dem Endbenutzer-Computer vorhanden ist, und kann verwendet werden, um zu verhindern, dass Ihr Software-Registrierungsschlüssel gestohlen wird.
Anweisungen
1 Öffnen Sie die primäre Quelle-Datei für Ihre Softwareanwendung in Ihrer Entwicklung-Programmierumgebung.
2 Geben Sie den folgenden Code, um den Debugger-Detection-Funktion in Ihrem Programm zu starten:Funktion MyDebuggerPresent: BoolescherGEHENTypTDebugProc = Function: boolescheGEHEN
stdcall
GEHENvarKernel32: HMODULEGEHENDebugProc: TDebugProc;
3 Fügen Sie den folgenden Code hinzu der Debugger-Detection-Funktion. Die Funktionsaufrufe verwendet sind Teil der Windows-Programmierschnittstelle Kern und benötigen keine zusätzliche Software-Bibliotheken verwendet werden:beginnen{mYDebuggerPresent}Ergebnis: = FalseGEHENKernel32: = GetModuleHandle('kernel32')GEHENWenn Kernel32 <> 0 dannbeginnen
@DebugProc := GetProcAddress(Kernel32, 'IsDebuggerPresent')
GEHEN
if Assigned(DebugProc) then Result := DebugProc
Ende; {Kernel32 <> 0}Ende;{myDebuggerPresent}
4 Kompilieren Sie Ihre Software mithilfe Ihrer Entwicklungsumgebung. Das Programm stellt nun fest, ob ein Software-Debugger auf einem Endbenutzer-Computer vorhanden ist.