Páginas

anun1

martes, 3 de noviembre de 2026

Solucion al Crackme What_do_i_want De Devastator

Hola amigos hoy veremos el crackme de devastador es algo sencillo, pero entretenido bueno para pasar el rato aquí una foto de la víctima


Asi que primero buscamos las string y nos muestra esto


Asi que damos clic en el mensaje well done que quiere decir bien hecho y nos muestra esto


Como podemos ver cuando llegue al mensaje correcto no veo que mande llamar la API MessageBoxA asi que ojo con ese dato no se muestra como cuando se ejecuta el mensaje incorrecto, despues de mostrar el mensaje correcto salta para mandar llamar la API EndDialog que cierra el programa...asi que nos vamos mas arriba para ver que nos muestra y en la linea 004010E0 vemos el salto decisivo, es el que nos manda al cartelito correcto y el incorrecto asi que nos iremos mas arriba en la linea 00401044 y ponemos un breakpoint


Ahora pasaremos a ejecutarlo y pondré lo siguiente


Y se detiene justo donde le indicamos así que nos vamos traceando y vemos que hace una resta en la línea 00401082 resta el valor que ingresamos en el primer cuadro de texto con 200E4


Así que para que EAX valga D  tiene que se 200E4 + D = 200F1  como se mira arriba el número a ingresar tiene que ser 131313 que en hexadecimal es 200F1 asi que lo volvemos ejecutar y seguimos

Nota: yo me guie como arriba en la línea  00401064 está un push que contiene D


Y vemos que unas líneas abajo en la línea 004010B3 xorea la palabra que ingresamos "polonesis" con estos valores

24 0B 15 1C 13 0A 04 36 06 17 2F 64 64


El resultado se aguarda en el dump aquí


Y seguimos traceando y con F8 y en la línea  004010D3 vemos que carga la cadena resultante del xoreo con un PUSH lo carga a la pila creo que lo usara en la API GetProcAddress y si es la correcta no salta en el la instrucción JE y creo que es la API MessageBoxA ya que esa es la que no se mira en el CALL mas abajo en la línea 0040116A y así que para ingresar MessageBoxA lo tenemos que convertir a hexadecimal y luego xorearlos 

MessageBoxA = 4D 65 73 73 61 67 65 42 6F 78 41

XOR

                          24 0B 15 1C 13 0A 04 36 06 17 2F 

--------------------------------------------------------------------------

 information     69 6E 66 6F 72 6D 61 74 69 6F 6E

Y si ingresamos esos valores nos arroja esto


OJO: tiene que ser una API de la librería USER32.DLL y con 11 digitos......yo intente con la API AppendMenuA y si entra no salta en la línea 004010E0, pero no muestra el mensaje, ya que esa API no se encarga de eso

Bueno saludos Flamer