Solución al noveno desafío de ESET

El siguiente código fuente del noveno desafío demuestra la condición que se debía saltar para averiguar el valor de la variable tipo integer referenciada como number.

#include “stdio.h”

void main()
{
int number = 0;
printf(“nPiensa un numero del 1 al 10000: “);
scanf(“%d”,&number);

if (number == 1337)
printf(“Ganaste!! Ingresa el código para reclamar tu premio.n”, number);
}

En la siguiente imagen podemos observar al programa siendo desensamblado (se puede utilizar OllyDbg, IDA Pro, GDB, WinDbg, etc.) y la sección en la que se compara los datos: cmp [ebp+var_4] , 539h

Lock

En este caso 539h en hexadecimal corresponde a 1337 en decimal, siendo este el valor buscado. Por lo tanto, el ganador en este caso es Karcrack quien dió la respuesta y la justificación. Dentro de poco tiempo estarás recibiendo tu licencia.

¡Esperamos hallan disfrutado del desafío tanto como nosotros haciéndolo!

Juan Sacco
Analista de Malware

Autor , ESET

Síguenos