Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales
Autor
|
Tema: [Reto] Diofanto's Crackme (Leído 1,384 veces)
|
PeterPunk77
Desconectado
Mensajes: 64
|
Buenas a todos, aquí les traigo un nuevo y sencillo crackme para Windows. Éste es bastante más sencillo que el Dioniso's 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=0WPEQFSFlink 2 -> http://www.2shared.com/file/aQskIPBy/Diofantos_Crackme.htmlSuerte a todos. Saludos.
|
|
|
|
|
En línea
|
|
|
|
|
|
Flamer
Desconectado
Mensajes: 205
crack, crack y mas crack...
|
Estodo biejon Descargado los dos crackmes 
|
|
|
|
|
En línea
|
Por Que Temes A La Muerte Si Una Eternidad Estubistes Muerto Ya...
|
|
|
MCKSys Argentina
Desconectado
Mensajes: 1.222
Diviérte crackeando, que para eso estamos!
|
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????  Si hago un tiempito, lo miro...  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." 
|
|
|
|
« Última modificación: 23 Noviembre 2011, 18:01 por MCKSys Argentina »
|
En línea
|
--------------------- MCKSys Argentina
"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Flamer
Desconectado
Mensajes: 205
crack, crack y mas crack...
|
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
|
|
|
|
|
En línea
|
Por Que Temes A La Muerte Si Una Eternidad Estubistes Muerto Ya...
|
|
|
Flamer
Desconectado
Mensajes: 205
crack, crack y mas crack...
|
Uff disculpen las molestias el serial quedaria asi para que saltara nombre=flamer serial=ZZZZ-67890abc saludos 
|
|
|
|
|
En línea
|
Por Que Temes A La Muerte Si Una Eternidad Estubistes Muerto Ya...
|
|
|
MCKSys Argentina
Desconectado
Mensajes: 1.222
Diviérte crackeando, que para eso estamos!
|
Mi primer analisis (rústico) USER: CRCNAME = 50554E4B for i = 0 to len(user) CRCNAME = tablita(low_byte(CRCNAME) xor user[i]) XOR (CRCNAME / 256)
Luego, CRCNAME es un DWORD, de donde salen: CRCNAME[0], CRCNAME[1], CRCNAME[2] y CRCNAME[3]
SERIAL: 4 chars + "-" + 8 chars ABCD-0123ABCD s1 + "-" + s2
s1 tiene chars desde 41h a 5Bh ("A" - "Z") cada char de s1 se le resta 41h. se obtiene t1.
suma = t1[0] + t1[1] * 26 + t1[2] * 676 + t1[3] * 17576 suma debe ser mayor que 1000!
s2 tiene chars HEXA (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) cada char de s2 se le resta 30h. se obtiene t2.
for pos = 0 to 8 b1 = (8 - pos - 1) * 4 sum_s2 += t2[pos] * 2^b1
abs((sum_s2 * sum_s2 * CRCNAME[3]+1) + (suma * -1) + (sum_s2^4 * CRCNAME[1]+1)) < 0.25 ==> Serial correcto
En estos días veo de reversear bien y hacer el KG. Saludos!
|
|
|
|
« Última modificación: 23 Noviembre 2011, 19:56 por MCKSys Argentina »
|
En línea
|
--------------------- MCKSys Argentina
"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
_Enko
Desconectado
Mensajes: 301
|
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
|
|
|
|
« Última modificación: 23 Noviembre 2011, 21:55 por _Enko »
|
En línea
|
|
|
|
|
DonVidela
|
Voy a tener que aprender hacer este tipo de cosas 
|
|
|
|
|
En línea
|
Aprendiendo: Java , C# , pl/sql, mysql , sql server, PHP , Access, JSF, Facelets, JSP, CakePHP, JQuery http://pablovidela.wordpress.com
|
|
|
Flamer
Desconectado
Mensajes: 205
crack, crack y mas crack...
|
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
|
|
|
|
|
En línea
|
Por Que Temes A La Muerte Si Una Eternidad Estubistes Muerto Ya...
|
|
|
_Enko
Desconectado
Mensajes: 301
|
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.
|
|
|
|
« Última modificación: 24 Noviembre 2011, 06:55 por _Enko »
|
En línea
|
|
|
|
PeterPunk77
Desconectado
Mensajes: 64
|
Enhorabuena a todos. Ya veo que no ha durado nada el crackme. Pues nada, ahora a solucionar el Dioniso's. Saludos.
|
|
|
|
|
En línea
|
|
|
|
_Enko
Desconectado
Mensajes: 301
|
Enhorabuena a todos. Ya veo que no ha durado nada el crackme. Pues nada, ahora a solucionar el Dioniso's. Saludos.
No del todo. la formula es esta: abs(k4^2*k2 - k1 + k4^4*k3) = k5 > 0.25 y par.
k1,k2 y k3 dependen del crc del nombre. 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.
|
|
|
|
|
En línea
|
|
|
|
PeterPunk77
Desconectado
Mensajes: 64
|
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.
|
|
|
|
|
En línea
|
|
|
|
_Enko
Desconectado
Mensajes: 301
|
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.
|
|
|
|
« Última modificación: 30 Noviembre 2011, 23:28 por _Enko »
|
En línea
|
|
|
|
|
|