Hola amigos soy Flamer de nuevo hoy veremos la solucion del crackme numero 2 de Bocvk, en este reto hay que encontrar el serial no se trata de un generador de claves(KeygenMe) si no de una contraseña o serial fijo, bueno sin tantos rodeos empesemos primero abrimos el crackme y miramos la api GetDlgItemTextA la cual es encargada de recojer el String o cadena de caracteres que ingresamos en un campo de texto asi que ponemos un breackpoin justo hay
(https://i.ibb.co/WvXXjB0C/1.png)
bueno puse 2 breackpoint para que vieran el llamado de las 2 apis y si nos fijamos mas abajo esta el mensaje correcto y el incorrecto
(https://i.ibb.co/yBfJKv8d/2.png)
asi que ahora lo ejecutamos e ingresaremos un serial o contraseña
(https://i.ibb.co/Ndk2vmYH/3.png)
yo ingrese como serial mi nick Flamer y al precionar el boton ok se detiene justo en la api GetDlgItemTextA y mas abajo compara 9 con 6....por que 6 es por que 6 es la longitud de los caracteres de Flamer
(https://i.ibb.co/zWPbpmsB/4.png)
asi que asumo que la contraseña o el serial a encontrar tiene 9 caracteres y si ponemos mas caracteres tambien entra y no pasa nada solo toma los primeros 9 caracteres del serial ingresado....bueno asi que ingresaremos Flamer007 y presinamos ok...bueno vemos que si entra y no rebota en el salto ya complimos la primera condicion ingresamos 9 caracteres...ahora ingresaremos en el call de la direccion 004010B1 con F7
(https://i.ibb.co/pjzC58Lr/5.png)
ya adentro del call vemos que al serial que ingresamos toma cada digito de Flamer007 y es xoreado con 8 y el resultado es almacenado en la direccion dword ptr ds:[ecx+0x403158] y mas abajo toma la palabra remoteexe y le suma 7 y el resultado lo almacena en la direccion dword ptr ds:[ecx+0x4031A8]
(https://i.ibb.co/232tSfRZ/6.png)
bueno para ver el resultado del xoreado de Flamer007 esperamos aque xoree el ultimo caracter y no posicionamos en el salto y luego hacemos lo siguiente
(https://i.ibb.co/Fb0DMYd7/7.png)
y despues observamos el dump y vemos lo siguiente
(https://i.ibb.co/Hf7DxbYL/8.png)
para ver el resultado de la suma de la palabra remoteexe hacemos lo mismo y queda asi
(https://i.ibb.co/DPsxTCcg/9.png)
bueno al salir del call entramos en el call de la direccion 004010C0 y vemos lo siguiente
(https://i.ibb.co/8DH3hBXf/a.png)
aqui vemos que compara caracter por caracter el xoreo de Flamer007 con la suma de la palabra remoteexe asi que para encontrar el sereal copiaremos el resultado de la suma remoteexe y la pasaremos por el xoreo que es yltv{ll.l ya copeada la ingresamos como sereal y por logica el resultado que nos de del xoreo tiene que ser el serial correcto y nos da lo siguiente
(https://i.ibb.co/7JGcRcqr/b.png)
asi que la copeamos el resultado que es la palabra qd|~sdd&d nomas que surje un error al compartar el caracter & con 7F aqui
(https://i.ibb.co/Hpx6yfPR/cc.png)
asi que xorearemos 7F con 8 por nuestra cuenta con la calculadora de windows y nos da como resultado w asi que la contraseña correrecta es qd|~sddwd
no les pongo imagenes de la calculadora por que creo que ya deberian de saber hacerlo bueno aqui les dejo foto del serial correcto y de el mensaje
(https://i.ibb.co/99160Q9f/fff.png)
bueno saludos Flamer y espero les halla gustado