โ˜ ๏ธBREAKPOINTS

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.

รšltima actualizaciรณn