Título: [Reto] Diofanto's Crackme Publicado por: PeterPunk77 en 23 Noviembre 2011, 01:56 am Buenas a todos,
aquí les traigo un nuevo y sencillo crackme para Windows. Éste es bastante más sencillo que el Dioniso's (http://foro.elhacker.net/ingenieria_inversa/reto_dionisos_crackme-t345585.0.html) o al menos a mi me lo parece y para cada nombre existen multitud de seriales válidos. Parchearlo no tiene ninguna ciencia (con cambiar un byte es suficiente) pero puede que algún novato quiera practicarlo. El siguiente grado de dificultad sería pescar un serial válido realizando un programita de fuerza bruta. Indicado para novatos avanzados o con ganas de aprender. Y por último (lo que harán MCKSys Argentina, _Enko , .:UND3R:. , ...) es programar un keygen con múltiples seriales válidos para cada nombre (sin usar fuerza bruta claro está). link 1 -> http://www.megaupload.com/?d=0WPEQFSF link 2 -> http://www.2shared.com/file/aQskIPBy/Diofantos_Crackme.html Suerte a todos. Saludos. Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 23 Noviembre 2011, 02:15 am un keygenme prolijo en masm, y como toque extra fpu :silbar:
Título: Re: [Reto] Diofanto's Crackme Publicado por: Flamer en 23 Noviembre 2011, 02:41 am Estodo biejon Descargado los dos crackmes
::) Título: Re: [Reto] Diofanto's Crackme Publicado por: MCKSys Argentina en 23 Noviembre 2011, 16:54 pm Y por último (lo que harán MCKSys Argentina, _Enko , .:UND3R:. , ...) es programar un keygen con múltiples seriales válidos para cada nombre (sin usar fuerza bruta claro está). Es obligatorio???? ;D Si hago un tiempito, lo miro... :silbar: Saludos! AH!!! "Transeúnte, esta es la tumba de Diofanto: es él quien con esta sorprendente distribución te dice el número de años que vivió. Su niñez ocupó la sexta parte de su vida; después, durante la doceava parte su mejilla se cubrió con el primer bozo. Pasó aún una séptima parte de su vida antes de tomar esposa y, cinco años después, tuvo un precioso niño que, una vez alcanzada la mitad de la edad de su padre, pereció de una muerte desgraciada. Su padre tuvo que sobrevivirle, llorándole, durante cuatro años. De todo esto se deduce su edad." :D Título: Re: [Reto] Diofanto's Crackme Publicado por: Flamer en 23 Noviembre 2011, 17:08 pm Bueno mi duda sobre este crackme
nombre=flamer serial=1234-67890abc en la direccion 0040111C le pasan a EAX el valor de mi serial(los primeros 4 caracteres) en hexadesimal que lo podemos ver en el dump y queda asi EAX=34333231 y despues en la siguiente linea se inicializa ECX=4 despues una resta SUB AL,41 despues una comparacion CMP AL,1A y despues un salto JNB que es el del flags c el cual para que salte EAX tiene que ser menor a ECX que bale 4 mi pregunta es que seriaal tengo que insertar para que en el dump valga 0 que EAX=0000005A Título: Re: [Reto] Diofanto's Crackme Publicado por: Flamer en 23 Noviembre 2011, 17:20 pm Uff disculpen las molestias el serial quedaria asi para que saltara
nombre=flamer serial=ZZZZ-67890abc saludos ;D Título: Re: [Reto] Diofanto's Crackme Publicado por: MCKSys Argentina en 23 Noviembre 2011, 19:54 pm Mi primer analisis (rústico)
Código: USER: En estos días veo de reversear bien y hacer el KG. Saludos! Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 23 Noviembre 2011, 21:45 pm Yo lo unico que tuve tiempo de sacar es que forzosamente los primeros 4 caracteres son "MMBA" para que sea igual a 1000 (3E8h).
Aunque ahora que lo veo hoy, la suma no debe ser igual a ese numero sino mayor xD Título: Re: [Reto] Diofanto's Crackme Publicado por: Pablo Videla en 23 Noviembre 2011, 21:49 pm Voy a tener que aprender hacer este tipo de cosas :xD
Título: Re: [Reto] Diofanto's Crackme Publicado por: Flamer en 24 Noviembre 2011, 03:38 am Una pregunta amigos
nombre=FLAMER serial=ABCD-01234567 mi duda es en la direccion 004011D9 lo que en tiendo que la instruccion FLD carga o le pasa el valor 2,998817e-38 a ST0 pero mi duda es de donde sale ese valor saludos Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 24 Noviembre 2011, 06:12 am De momento no estoy como para publicar el keygen, tengo que hacer algunas optimizaciones.
User: Enko Pass: BEEC-40708291 SIFB-C04EE399 LUBD-C083963E LQUA-C0398EFC VFJB-C055417F VFJB-C055417F IVBA-3FBF9034 SIFB-C04EE399 LQUA-C0398EFC ZWBA-3FC176AF OVFQ-40C8DBBE OVFQ-40C8DBBE ZWBA-3FC176AF Saludos. Título: Re: [Reto] Diofanto's Crackme Publicado por: PeterPunk77 en 25 Noviembre 2011, 13:04 pm Enhorabuena a todos. Ya veo que no ha durado nada el crackme. Pues nada, ahora a solucionar el Dioniso's.
Saludos. Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 25 Noviembre 2011, 13:43 pm Enhorabuena a todos. Ya veo que no ha durado nada el crackme. Pues nada, ahora a solucionar el Dioniso's. No del todo.Saludos. la formula es esta: Código: abs(k4^2*k2 - k1 + k4^4*k3) = k5 > 0.25 y par. k4 son los ultimos 8 digitos hexa del serial. La solucion correcta, en teoria es despejar de la ecuacion k4. Es una ecuacion bicuadratica, por ende: X = k4^2 de esa forma nos quedaria: k3x^2 + k2x - k1-k5 Se despeja las dos raices de X y luego despejamso k^2 como sqrt(x) y nos da otras dos raices de K. En total 4 raices. (de las cuales usamos una sola). Lo que no me sale es programar la fpu para que haga la resolvente y luego elegir la raiz correcta. Saludos. Título: Re: [Reto] Diofanto's Crackme Publicado por: PeterPunk77 en 30 Noviembre 2011, 21:45 pm Perdona _Enko, pero no entiendo qué problema tienes.
Efectivamente el crackme no es más que una ecuación bicuadrada que evidentemente tiene 4 posibles soluciones y cualquiera de ellas debería ser válida. Yo sólo he hecho una prueba para comprobar que todo estuviese correcto y con la solución obtenida con los positivos de las raíces cuadradas no he obtenido ningún error. Saludos. Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 30 Noviembre 2011, 23:23 pm No me llevo muy bien con la fpu.
Intente un par de veces resolver las raices de la bicuadratica pero no ha resultado... No estaba seguro si eran mis pesimos conocimientos de matematica (no tenia ni idea de como se resolvia una cuadratica), o mis otras pesimas habiliades con la fpu. voy a ver si en estos dias intento arreglar el tema con las raices y la fpu, o bien terminaria reescribiendo todo en C o algo parecido. Título: Re: [Reto] Diofanto's Crackme Publicado por: Flamer en 1 Diciembre 2011, 16:33 pm yo me doy ya me enfade con los crackmes (todos) ya medio coraje con todos los pendientes que tengo; eso me pasa por andar pidiendo crackmes. boy a tomar un descanso mejor por que no tengo pasiensia ni animos de seguir con el tema.
me quede con la instruccion FLD al raton saludos flamer Título: Re: [Reto] Diofanto's Crackme Publicado por: Flamer en 1 Diciembre 2011, 16:34 pm yo me doy ya me enfade con los crackmes (todos) ya medio coraje con todos los pendientes que tengo; eso me pasa por andar pidiendo crackmes. boy a tomar un descanso mejor por que no tengo pasiensia ni animos de seguir con el tema.
me quede con la instruccion FLD al raton saludos flamer Título: Re: [Reto] Diofanto's Crackme Publicado por: .:UND3R:. en 1 Diciembre 2011, 16:44 pm yo me doy ya me enfade con los crackmes (todos) ya medio coraje con todos los pendientes que tengo; eso me pasa por andar pidiendo crackmes. boy a tomar un descanso mejor por que no tengo pasiensia ni animos de seguir con el tema. me quede con la instruccion FLD al raton saludos flamer Creo que se debe a estás juntando muchos a mi me suele suceder y simplemente borro mi máquina virtual y parto de nuevo con 0 crackmes, tomo uno o dos y empiezo a trabajar con ellos, si no están a mi alcance intento nuevamente con otro, Saludos Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 2 Diciembre 2011, 07:14 am Keygen:
http://www.mediafire.com/?3myalaqt3iy5eg3 (genera 10 llaves aleatorias por intento) Saludos. Título: Re: [Reto] Diofanto's Crackme Publicado por: Иōҳ en 2 Diciembre 2011, 15:42 pm Creo que se debe a estás juntando muchos a mi me suele suceder y simplemente borro mi máquina virtual y parto de nuevo con 0 crackmes, tomo uno o dos y empiezo a trabajar con ellos, si no están a mi alcance intento nuevamente con otro, Saludos Y porqué borras tu VM?, tan solo hasle un snapshot y listo. Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 2 Diciembre 2011, 15:53 pm Y porqué borras tu VM?, tan solo hasle un snapshot y listo. O copiar y pegar el archivo del disco rigido ^^ Título: Re: [Reto] Diofanto's Crackme Publicado por: .:UND3R:. en 2 Diciembre 2011, 17:11 pm O copiar y pegar el archivo del disco rigido ^^ Pues copio nuevamente el snaptshot Saludos Título: Re: [Reto] Diofanto's Crackme Publicado por: PeterPunk77 en 5 Diciembre 2011, 02:56 am Keygen: Enhorabuena Enko,http://www.mediafire.com/?3myalaqt3iy5eg3 (genera 10 llaves aleatorias por intento) Saludos. ya sabía que al final no ibas a tener ningún problema (aunque pensé que lo ibas a programar en asm32). Por cierto, ese crackme es el Diofanto no el Dioniso: Diofanto está considerado uno de los padres del algebra. Dioniso era el dios griego del vino. Saludos. Título: Re: [Reto] Diofanto's Crackme Publicado por: _Enko en 7 Diciembre 2011, 18:00 pm peterpunk, el crackme lo hice mitad/mitad. C/Asm
La parte del CRC la hice en asm (practicamente copypast de tu rutina original) La parte del keygen en si, en C. Para convertir un FLOAT a su representacion hex de 32 bit tambien tuve que usar asm inline. Usando un puntero y leyendo byte a byte me daba otro resultado. Aqui el fuente: Código
Código
pd: A... Diofanto, asi la bicuadratica tiene mas sentido con el nombre. Gracias por el buen crackme, podria ahora hacerlo completamente en asm ya que el problema no era la fpu, sino la resolvente estaba buggeada. |