elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Anti breakpoint?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Anti breakpoint?  (Leído 3,816 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Anti breakpoint?
« en: 4 Junio 2012, 01:11 am »

Hola a todos bueno e escuchado mucho hablar y me han mencionado de la tecnica anti break point... que es antidebug
para poder proteger un programa y este elimina los breakpoint si detecta que esta siendo depurado...
pero no sé como es ni sé en que consiste para hacer alguna implementacion en algun lenguaje... alguien sabe como
consiste?
En línea

The Swash

Desconectado Desconectado

Mensajes: 194


Programmer


Ver Perfil WWW
Re: Anti breakpoint?
« Respuesta #1 en: 4 Junio 2012, 03:37 am »

Hola,

Algún día leí algo al respecto y constaba y verificar que determinadas partes de tu "memoria" no tuviesen un 'CC = INT 3' que es lo que ponen los breakpoints. En lenguajes como C o Pascal se haría muy fácil puesto que tienes punteros.
Ahora pueda que se trate de otra cosa así que espera más opiniones.

Un saludo,
Iván Portilla.
En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Anti breakpoint?
« Respuesta #2 en: 4 Junio 2012, 04:37 am »

La manera más clásica es usar un algoritmo de comprobación de integridad por ejemplo CRC, si ha cambiado algún byte de la sección código por ejemplo, es decir si se ha seteado un soft breakpoint, será detectado porque las operaciones del algoritmo darán otro resultado.

Este tipo también puede servir para evitar los BPM... si los tomas en cuenta los permisos de las páginas y/o secciones en las operaciones del algoritmo.

Una forma de evitar los soft breakpoints por ejemplo en las apis, es emular parcial o completamente, así cuando se setee un soft breakpoint, nunca parará.

El límite es tu imaginación.

Saludos,
Nox.
« Última modificación: 4 Junio 2012, 04:40 am por Иōҳ » En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Anti breakpoint?
« Respuesta #3 en: 4 Junio 2012, 05:54 am »

hey muchas gracias, ya comprobe y funciono, no sabia que de esa forma ponian los brk los depuradores :)
En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Anti breakpoint?
« Respuesta #4 en: 7 Junio 2012, 17:43 pm »

Recuerda que también se pueden eliminar los Breakpoint on memory, cambiando los permisos de memoria con la API VirtualProtect.

Es decir si un cracker poner BPM estando en el OEP, podrías cambiar los permisos del segmento .CODE, algunas funciones antes que las funciones importantes de validación o comprobación del serial, de esta manera los BPM se eliminan.

Para los Hardware Break Point, puedes generar excepciones forzadas en tu programa una vez generada podrías verificar la estructura CONTEXT  (apuntada por la API KiUserExceptionDispatcher) la cual al principio almacena los HBP y borrarlos, por lo que lo que no funcionarán
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Anti breakpoint?
« Respuesta #5 en: 7 Junio 2012, 19:46 pm »

Se pueden hacer muchas cosas jeje, hay formas que desde ring3 puedes inhabilitar los soft breakpoints por ejemplo ejecutando instrucciones privilegiadas (ring0) cambiando la dirección contenida en el vector  de la IDT de la INT3, jeje..

Agregando a lo que te dijo Under para los BPM también puedes usar la api VirtualQuery + la struct MEMORY_BASIC_INFORMATION, para saber los permisos actuales de las páginas de memorias :).


Saludos,
Nox.
« Última modificación: 7 Junio 2012, 19:48 pm por Иōҳ » En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
TomaSs

Desconectado Desconectado

Mensajes: 101



Ver Perfil
Re: Anti breakpoint?
« Respuesta #6 en: 7 Junio 2012, 23:58 pm »

Por cierto, hace algún tiempo leí algo muy interesante sobre los breakpoints en el gran blog de genbetadev, aquí te lo paso:
¿Cómo funciona un depurador de C/C++? (Parte I)
¿Cómo funciona un depurador de C/C++? (Parte II)
¿Cómo funciona un depurador de C/C++? (Parte III)

¿Cómo funciona el breakpoint en un depurador de C/C++?
¿Cómo funciona el hardware breakpoint en un depurador de C/C++? (breakpoints part II)
¿Cómo funciona el memory breakpoint en un depurador de C/C++? (breakpoints part III)
En línea

Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: Anti breakpoint?
« Respuesta #7 en: 8 Junio 2012, 06:17 am »

sin entrar al modo kernel... en modo usuario tenes varias formas, algunas ya descriptas... para los bp comunes tenes la opción de generar un hash del code y cada x tiempo comprobar que sea igual, para los MBP puedes comprobar (como ya dijeron) los permisos sobre los espacios de memoria, y para los HBP comprobar el registro CONTEXT, fuera de eso, creo que lo mejor para evitar intrusiones es evitar que ocurran (es mejor prevenir que curar... :P ) por lo que el tema sería evitar que puedan abrir tu programa con un depurador...

S2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
en busca del breakpoint adecuado... « 1 2 »
Ingeniería Inversa
Badcode 19 8,163 Último mensaje 22 Octubre 2003, 01:40 am
por Badcode
Problemas softice breakpoint's
Ingeniería Inversa
xkill 3 2,719 Último mensaje 10 Agosto 2005, 17:48 pm
por xkill
Problema para breakpoint en Winproc
Ingeniería Inversa
x64core 2 2,495 Último mensaje 6 Noviembre 2012, 17:23 pm
por apuromafo CLS
Ollydbg 2.01 message breakpoint
Ingeniería Inversa
patilanz 1 2,598 Último mensaje 8 Enero 2015, 01:23 am
por MCKSys Argentina
Suspicious breakpoint
Ingeniería Inversa
sanbolo 1 2,193 Último mensaje 3 Marzo 2017, 00:46 am
por Geovane
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines