Hola amigos hoy veremos el crackme de devast8a este fue publicado en crackmes.de en 23. Dec, 2008 aquí una foto
Como podemos ver parece que la clave tiene 55 dígitos, así que lo abrimos con el x32dbg y nos vamos a los string y nos muestra esto
Y hay podemos ver el mensaje correcto así que damos clic en él y nos lleva a esta zona
Así que ponemos un breakpoint cerca de esa zona como lo muestra la imagen para después ejecutarlo con F9 y poner como serial "123456" y nos detenemos donde le indicamos, acto seguido nos vamos traceando con F8 y pasando el xor de la línea 00A81143 damos clic derecho a la dirección así como en la imagen
Y vemos lo siguiente en el DUMP
Acto seguido si seguimos traceando con F8 y al pararnos en la dirección 00A81147 vemos que los datos que están en el DUMP van cambiando así que seguimos para ver qué valor queda aquí les muestro lo que queda
Hay podemos ver la frase que se formó es "Waxing my car will not result in expert karate training" y si seguimos traceando en la línea 00A81156 vemos que compara el primer dígito del serial que ingrese que es "123456" así que no queda duda el serial es la frase de arriba así que lo reiniciamos y la ingresamos
y nos muestra esto
Por otra parte, también lo probé con IDA pro y el código que me muestra es este
int __cdecl main(int argc, const char **argv, const char **envp)
{
int i; // eax
char v5[56]; // [esp+4h] [ebp-BCh] BYREF
char v6[128]; // [esp+3Ch] [ebp-84h] BYREF
v5[0] = 45;
v5[1] = 27;
v5[2] = 2;
v5[3] = 19;
v5[4] = 20;
v5[5] = 29;
v5[6] = 90;
v5[7] = 23;
v5[8] = 3;
v5[9] = 90;
v5[10] = 25;
v5[11] = 27;
v5[12] = 8;
v5[13] = 90;
v5[14] = 13;
v5[15] = 19;
v5[16] = 22;
v5[17] = 22;
v5[18] = 90;
v5[19] = 20;
v5[20] = 21;
v5[21] = 14;
v5[22] = 90;
v5[23] = 8;
v5[24] = 31;
v5[25] = 9;
v5[26] = 15;
v5[27] = 22;
v5[28] = 14;
v5[29] = 90;
v5[30] = 19;
v5[31] = 20;
v5[32] = 90;
v5[33] = 31;
v5[34] = 2;
v5[35] = 10;
v5[36] = 31;
v5[37] = 8;
v5[38] = 14;
v5[39] = 90;
v5[40] = 17;
v5[41] = 27;
v5[42] = 8;
v5[43] = 27;
v5[44] = 14;
v5[45] = 31;
v5[46] = 90;
v5[47] = 14;
v5[48] = 8;
v5[49] = 27;
v5[50] = 19;
v5[51] = 20;
v5[52] = 19;
v5[53] = 20;
v5[54] = 29;
v5[55] = 0;
printf(Format: "HINT: The password is %d letters long\n", 55);
printf(Format: "Enter Password: ");
gets(a1: v6);
for ( i = 0; i < 55; ++i )
v5[i] ^= 0x7Au;
if ( !strcmp(v6, v5) )
printf(Format: "Congrats you have got the password\n");
else
printf(Format: "Sorry, The password was incorrect\n");
system(Command: "pause");
return 0;
}
Bueno creo que eso es todo saludos Flamer
No hay comentarios.:
Publicar un comentario