☠️BREAKPOINTS
Última actualización
Última actualización
Los breakpoints son interrupciones que se hacen al programa, cuando nosotros deseamos pararlo en un lugar especifico. Para esto tenemos tres tipos de breakpoints:
Software Breakpoints
: Este se coloca dando click en la linea que desamos y pulsanod F2 (todo esto lo hago en x64dbg), tambien se puede al hacer un doble click en la columna que lo queremos poner.
Hardware Breakpoints
: Estos son breakpoints que estan en el procesador, estos son 4 por proceso y funcionan solo en el there principal. Este lo podemos poner dando click derecho en la linea -> breakpoints -> Set Hadware on Execution y tendremos un puntito rojo:
Esto tambien lo podemos ver en este cuadri en el DR0, DR1, DR2, DR3 ya que solo son 4 por proceso:
Memory Breakpoints
: Estos breakpoints se diferencian porque no solo se puede abarcar unos cuantos bytes, sino que se puede abarcar una seccion entera
Breakpoints Conditional
: Este se aplica como su nombre lo dice, solamente cuando se cumple una condicion, para agregar un brakpoint condicional se hace lo siguiente; colocamos el brakpoint -> lo editamos -> colocamos la condicion:
En el ejemplo de la imagen esta ek 0 para especificar que no debe de parar y abajo es para que se imprima el valor de eax ya que el breakpoint esta en despues de un eax:
Nos vamos a los logs los limpiamos y ejecutamos el programa y nos da esto:
Nos damos cuenta que nos imprime el valor de eax y esto es igual al numero de letras que ingrese al programa. De igual manera podemos hacer que el breakpoint se detenga cuando agregaemos cierto numero de letras. Esto editando el 0 y agregando EAX == 6
por ejemplo.