martes, 15 de abril de 2014

Cracking basico: Crackear programa

Seguimos con el cracking basico para principantes, hoy vamos a crackear el programa para que siempre de cierto.


Conceptos que debemos saber de ensamblador:
Los saltos, son instrucciones que hacen saltar al programa de una instrucción a otra, los dividiremos en 2 tipos:

Saltos normales (JMP): Saltan de una instrucción a una nueva dirección u offset (posicion en un array)

Saltos condicionales (JNZ): Saltan al cumplirse una condicion especificada en un flag, ejecutandose si el resultado de la operación es 0.


Dos funciones que debemos saber para seguir son:
Printf - Imprime un valor por pantalla
Scanf - Detecta el resultado escrito por pantalla


Si ponemos en practica estos conceptos veremos el flujo del programa, 

Lo primero escribe pass?, detecta el valor escrito y con el JNZ comprueba si es cierto.


¿Ya sabéis que significa esto?, pues efectivamente cambiando el JNZ por un resultado que siempre de valido tendremos que siempre funcione, así que presionamos doble click esa linea y cambiamos JNZ por JZ (Lo contrario a JNZ), una vez cambiado pulsamos Assemble para ensamblar el programa de nuevo.

En el programa escribimos cualquier valor, y veremos que siempre da cierto.



Espero que os haya gustado el primer contacto con ensamblador  y el mundo del cracking, y que esto sea el principio en este mundillo.

Happy Cracking!

No hay comentarios:

Publicar un comentario