Lab1C

Este Lab es relativamente sencillo.

Como podemos ver nos pide una contraseña.

Vamos a analizarlo con gdb. Pongamos un break en main y revisemos su interior.

Como podemos ver estan los puts que aparecen en pantalla.

Después hay un scanf que muestra algo interesante. Primero que nada, ¿cómo trabaja scanf?, el proceso es así.

int scanf ( const char * format, ... );

ok, menciona que primero debe ir el formato ("%c, %d, %ld"... etc), después los argumentos.

vamos a revisarlo.

Si nos fijamos primero estan scanf, después el formato, recordemos que int son 4 bytes, desde esp+0x4, ya podemos empezar a imaginar que el formato deberá ser un "%d", pero vamos a confirmarlo.

Ya sabiendo, significa que debemos colocar decimales, si seguimos obervando hay una comparativa que si es incorrecta nos manda un mensaje que la contraseña es incorrecta.

Esta comparativa dice que debe ser eax = 0x149a.

Vamos a convertir esa cantidad en decimal, sería 0x149a = 5274 en decimal.

Vamos a probar el resultado como contraseña.

En /home/lab1B se puede encontrar la contraseña para la siguiente fase.

Listo.