
Este repositorio aloja un código que muestra algunas de las formas triviales de detectar la presencia de depuradores en aplicaciones de Windows. Se pueden encontrar recursos más exhaustivos en otros repositorios de GitHub y la referencia anti-famosa "ultimate" de Peter Ferrie. Los ejemplos están organizados por funcionalidad.
Para construir el proyecto, se ejecute lo siguiente desde build/ .
cmake ../
cmake --build .
El ejemplo de Readteb utiliza __asm que no es compatible con x64 y se excluye del makfile.
Estas son algunas comprobaciones que se pueden ejecutar dentro de la fuente de una aplicación.
ISDEBUGGERPRESENT - Llamada básica de la API Win32 para verificar la presencia de un depurador
OutputDebugString: use la API Win32 para intentar comunicarse con un depurador potencialmente conectado
FindWindow: use la API Win32 para buscar Windows de depuración
Readteb: una breve mirada a las partes internas de IsdebuggerPresent
Break Break: una llamada Win32 que se lanzará cuando no se adjunte un depurador.
Verificación de procesos externos para la presencia de un depurador adjunto.
CheckremotedebuggerPresent - isdebuggerPresent para procesos externos
Técnicas de protección contra la ingeniería anti inversa para usar antes de liberar el software