Autor
|
Tema: Anti breakpoint? (Leído 3,816 veces)
|
x64core
Desconectado
Mensajes: 1.908
|
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
Mensajes: 194
Programmer
|
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
Mensajes: 563
|
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
|
|
|
|
|
.:UND3R:.
|
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
Mensajes: 563
|
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
|
|
|
|
TomaSs
Desconectado
Mensajes: 101
|
|
|
|
En línea
|
|
|
|
Karman
|
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... ) por lo que el tema sería evitar que puedan abrir tu programa con un depurador... S2
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
en busca del breakpoint adecuado...
« 1 2 »
Ingeniería Inversa
|
Badcode
|
19
|
8,163
|
22 Octubre 2003, 01:40 am
por Badcode
|
|
|
Problemas softice breakpoint's
Ingeniería Inversa
|
xkill
|
3
|
2,719
|
10 Agosto 2005, 17:48 pm
por xkill
|
|
|
Problema para breakpoint en Winproc
Ingeniería Inversa
|
x64core
|
2
|
2,495
|
6 Noviembre 2012, 17:23 pm
por apuromafo CLS
|
|
|
Ollydbg 2.01 message breakpoint
Ingeniería Inversa
|
patilanz
|
1
|
2,598
|
8 Enero 2015, 01:23 am
por MCKSys Argentina
|
|
|
Suspicious breakpoint
Ingeniería Inversa
|
sanbolo
|
1
|
2,193
|
3 Marzo 2017, 00:46 am
por Geovane
|
|