Páginas

domingo, 8 de noviembre de 2026

Solucion al Crackme De Devast8a

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