Título: Saltarse truco antidebug de Windows 10 Publicado por: aguml en 30 Mayo 2020, 12:14 pm Hola amigos, uno de los trucos que quiero implementarlo en mi clase para crear loader debuggers es saltarse la protección antidebugger para Windows 10 basada en RaiseException para provocar evento OutputDebugEvent. Lo que hace es que si no hay debugger no se envía el mensaje y da una excepción que la aplicación controla y si hay debugger no se produce excepción y por ahí nos pilla. Os pongo un código de ejemplo:
Código: void __stdcall _OutputDebugStringW(LPCWSTR lpOutputString) Título: Re: Saltarse truco antidebug de Windows 10 Publicado por: aguml en 31 Mayo 2020, 14:47 pm Creo que he conseguido solucionarlo. Cuando lo confirme mañana lo explico. Me ayudaron en el grupo de Telegram de x64dbg donde me orientaron por dónde debía entrarle.
Título: Re: Saltarse truco antidebug de Windows 10 Publicado por: karmany en 1 Junio 2020, 12:26 pm Te acabo de leer ahora.
Es muy interesante, cuando lo tengas postéalo si no te importa. Muchas gracias. Título: Re: Saltarse truco antidebug de Windows 10 Publicado por: aguml en 2 Junio 2020, 19:41 pm Pues si lo solucioné. La cosa es que yo me mareaba intentando atacar a la función RaiseException que es la que usan para el truco antidebug y que lo usan para enviar un mensaje al debugger. Si hay debugger no da ninguna excepción porque el debugger la gestiona y por ahí es por dónde te pilla ya que precisamente el chico bueno lo tiene en un seh. La cosa es que no hay que hacer nada a RaiseException, simplemente puse un condicional en donde gestiono OutputDebugString y si tengo activado el truco para evitar ese antidebug devuelvo DBG_EXCEPTION_NOT_HANDLED y listo, ya con eso ni se entera y entra en su manejador y ya no me pilla 😬
|