
In diesem Repository -Code, der einige der trivialen Möglichkeiten zeigt, um das Vorhandensein von Debuggern unter Windows -Anwendungen zu erkennen. In anderen Github-Repositories und Peter Ferries The "Ultimate" Anti-Debugging-Referenz finden Sie gründlichste Ressourcen. Die Beispiele sind nach Funktionalität organisiert.
Um das Projekt zu erstellen, laufen Sie Folgendes aus build/ .
cmake ../
cmake --build .
Das ReadTEB -Beispiel verwendet __asm , das auf X64 nicht unterstützt wird und von der Makefile ausgeschlossen ist.
Dies sind einige Überprüfungen, die innerhalb der Quelle einer Anwendung aus ausgeführt werden können.
IsdebuggerPresent - Basic Win32 API -Anruf, um nach der Anwesenheit eines Debuggers zu suchen
Outputdebugstring - Verwenden Sie die Win32 -API, um zu versuchen, mit einem potenziell angeschlossenen Debugger zu kommunizieren
FindWindow - Verwenden Sie die Win32 -API, um nach Debugger Windows zu suchen
ReadTeb - Ein kurzer Blick auf die Interna Isdebuggerpresent
DEBUGBREAK - Ein Win32 -Anruf, den ein Debugger nicht angeschlossen ist.
Überprüfung externer Prozesse auf das Vorhandensein eines angeschlossenen Debuggers.
CheckRemotedebuggerPresent - isdebuggerpresent für externe Prozesse
Anti Reverse Engineering -Schutztechniken, die vor der Freigabe von Software verwendet werden müssen