BreakPoint Posted February 24, 2012 Share Posted February 24, 2012 Lenguaje: C++ Objetivo:Serial Empaquetado: No Screenshoot: ... This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Para los que se estanquen o no puedan hacerlo en el siguiente post posteare el tuto y los demas que esperan, vamos a por el serial XD Link to comment Share on other sites More sharing options...
BreakPoint Posted February 24, 2012 Author Share Posted February 24, 2012 (edited) Bueno lo prometido es cumplido y llego la hora... Que conste que es mi primer tuto en el tema y lo seguire haciendo a lo largo y ancho de que vallan saliendo nuevos Crackmes sin solucion del momento... Como dice el muchachito que tengo de avatar el juego recien comienza muajaja XD Sigan adelante los que no se animan a hacerlo o se trabaron en algun lugar y necesitan ayuda los demas que hacen aqui??? :laugh: Runeamos el crackme con el olly y vemos una primera vista This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up ingresamos un nombre cualquiera y un serial cualquiera y :( This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Me cerro el olly me cerro 2 bloc de notas que tenia abierto y encima se me bloqueo parcialmente la pc porque tambien cerro un proceso fundamental del sistema que ya mismo vamos a averiguar cual fue... Abrimos nuevamente el crackme con el olly y empezamos a mirar mas de cerca. Vamos a el botoncito de "M" y click derecho y tipeamos search ponemos un "Bienvenido" que es una de las strings que vimos cuando abrimos dicho crackme y nos aparece parte del source en el dump, mas abajo vemos el proceso culpable que insidio en el bloqueo del sistema, podemos ver como es terminado con un comando de batch "taskkill" ademas de ver como "mata" a explorer.exe podemos ver otras victimas que son: notepad,calc y hasta el mismisimo olly XD This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up una vez que apreciamos dicho crimen XD podemos seguir avanzando y acercandonos cada vez mas a la meta.Miramos las apis que solicita y no vemos nada interesante a no ser del scanf que es usado para guardar los datos del usuario, seguiremos mirando pero esto lo dejariamos para el ultimo recurso a tomar de la fila. Bueno runemos pongamos un nombre en mi caso Slash y vamos a el botoncito de "M" click derecho--search y ponemos el nombre que hayamos puesto, luego nos dirigimos al dump lo seleccionamos y le ponemos un BPM on acces para cuando el programa lo requiera pare el olly ahi. This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Muy bien luego de haberlo breakponiado XD ponemos un serial cualquiera y vemos que se detiene en un CMP y lo que hace es tomar el primer byte de mi nombre y compara con 0 y luego ahi un salto condicional que te lleva afuera del bucle si llegara a cumplirse, con esto deducimos que pasara cuando ya se quede sin caracteres de mi nombre :D A continuacion EDX va a ir tomando caracter por caracter de mi nombre y los va a ir metiendo en ebp-8 que se reservo para ello...luego en ebp-4 va a actuar como un contador de caracteres y enseguida con un inc va a ir ascendiendo en 1 y todo se vuelve a repetir uno a uno... En esta imagen podemos apreciar en el stack en EBP-8 la suma de todos los caracteres y en EBP-4 el contadorcito que se usaba para avanzar a lo largo del nombre. This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Saliendo del primer bucle vemos que mueve la suma de los caracteres[EBP-8] a EAX,ahora lo va a sumar asi mismo con ADD EAX,EAX y despues de eso le va a sumar 63 al valor y lo vuelve a meter en EBP-8. Salimos del call y entramos al 2do este servira para el serial o seguira laburando con el nombre? :/ mmmmm me parece que no porque va a tapar con 0 donde estaba la suma de mi nombre con el contador XD This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Vemos que en el segundo bucle hace exactamente lo mismo que en el primero la unica diferencia es que trabaja ahora con el serial :P Luego que salimos del segundo bucle le suma 10f a mi serial y lo mueve a EAX.. Bueno despues de salir del segundo call vemos una importante seguidilla de Movs que lo que van a hacer eso mover mi nombre y el serial 459-->nombre 144-->serial This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Bue de las ultimas nos quedan entramos en el 3er call y vemos que le suma 17 a mi serial pasando a ser 15b y lo mueve a EAX y despues lo compara con 459 que es mi nombre si no son iguales JNz saltamos a 0x40147D y mueve 2E2 a EBP-4 que a continuacion sera EAX porque usa un MOV Luego luego vemos que compara EAX con 180 y si no son iguales vamos a saltar a 0x40137a y nos va a cerrar todo a la mierda XD(disculpen lo tenia que decir o como dice Xak no lo puedo remediar >.< ) This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Entonces me anticipo a eso y modifico el 2E2 por 180 que esta en el stack y vemos que nos manda al mensaje de "CORRECTO". This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Bueno al fin...No paraaa pichon paraaa que no hemos terminado XD tenemos que retroceder en el tiempo para ver como tenemos que llegar bien vamos de atras para adelante. Necesitamos que EBP-34 sea 180 bien y como conoseguiamos ese 180? recuerdan aquel 0040146F CMP EAX,DWORD PTR SS:[EBP+8] que el EAX contenia mi serial y el EBP+8 contenia mi nombre? Asi que tiene que ser igual el valor de mi nombre con el de mi serial para que me de ese 180 y luego lo compare con el otro 180 y me lleve a el mensaje de correcto? Si Cibergolencito XD vas bien vas bien. Tomamos la tabla ascii y vamos poniendo letras hasta que lleguemos al valor de nuestro nombre y listo Crackme resuelto... para el nombre:Slash encontre un serial: a=slashz This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Bueno no es el unico serial valido paraese nombre ya que la unica condicion que tiene es que debe ser igual al valor que tiene mi nombre... Eso ha sido todo y he llegado al fin de mi primer tutorial de cracking, este va dedicado a Cibergolen que no me ha ayudado nada en este tema XD y que se ponga a la altura de la circunstancia porque se le estan callendo de a poco (h) cualquier sugerencia o consejo para mejorr la calidad de los tutos seran aceptados por MP si quieren que sea ma divertido,mas resumido que me detenga mas en algunos lados que no explique tantos otros,etc Salu2 Edited February 24, 2012 by BreakPoint Link to comment Share on other sites More sharing options...
Recommended Posts