Autor
|
Tema: KeygenMe01 - C++ (Leído 8,485 veces)
|
Tinkipinki
Desconectado
Mensajes: 242
|
Hola a todos: La solució esta una vez desempackado en: 0040160E |. 3B45 88 CMP EAX,DWORD PTR SS:[EBP-78] Si cogeis el resultado de la comparacion que se encuentra en EAX y la convertis a decimal os dara el serial correcto para el name que habeis entrado. Seria muy interesante poder hacer un keygen o que alguien explicara la rutina del calculo y asi profundizar un poco mas. Si alguien tiene dudas de como llegar hasta aquí, que no dude en preguntar. Agradecer a jEUDi17 por compartir su trabajo... Saludos
|
|
« Última modificación: 19 Julio 2012, 20:42 pm por Tinkipinki »
|
En línea
|
|
|
|
jEUDi17
Desconectado
Mensajes: 54
CrackSLatinoS
|
jEUDi17
Muchísimas gracias por tu keygenMe01 y bienvenido.
Para los usuarios que se inician, es recomendable que le echéis un vistazo, por ejemplo, cómo saber llegar al OEP en un sencillo AsPack.
Yo creo que no deberías publicar el código fuente, porque si no quitas "la gracia" de lo que es un CrackMe. En todo caso cuando sea resuelto, se haga un tutorial... más adelante
Gracias Un saludo
jEUDi17
Muchísimas gracias por tu keygenMe01 y bienvenido.
Para los usuarios que se inician, es recomendable que le echéis un vistazo, por ejemplo, cómo saber llegar al OEP en un sencillo AsPack.
Yo creo que no deberías publicar el código fuente, porque si no quitas "la gracia" de lo que es un CrackMe. En todo caso cuando sea resuelto, se haga un tutorial... más adelante
Gracias Un saludo
Gracias a los 2 por comentar, no voi a dar el codigo fuente, despues lo posteare. Saludos a los 2 y buen día. Tinkipinki buen trabajo (: y gracias por resolverlo.
|
|
|
En línea
|
En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.
|
|
|
jEUDi17
Desconectado
Mensajes: 54
CrackSLatinoS
|
Gracias por comentar, ese es el problema nose porque no puedo aprender lo que explica allí. Buen dia (:
|
|
|
En línea
|
En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.
|
|
|
Stakewinner00
|
Gracias por comentar, ese es el problema nose porque no puedo aprender lo que explica allí.
Buen dia (:
Bueno tengo 15 años y cuando me puse a intentar a aprender cracking tampoco podi aespere como 2 messes y despues ya me fue todo mejor. Quizas es que aun no lo entiendes y te falta madurar un tiempo para entenderlo todo con facilidad? En todo caso lo k yo haria seria irme a otro lado durante un tiempo y luego regresaria para ver sy ya puedo aprenderlo. Nose si se ha entendido mucho
|
|
|
En línea
|
|
|
|
|
jEUDi17
Desconectado
Mensajes: 54
CrackSLatinoS
|
Pásamelo por MP por favor... No puedo amigo, intenta resolverlo y sacar el keygen tu mismo. Espero que no te molestes.
|
|
|
En línea
|
En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.
|
|
|
MCKSys Argentina
|
MCKSys 353 PD: Si hago tiempo, sale keygen...
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
jEUDi17
Desconectado
Mensajes: 54
CrackSLatinoS
|
MCKSys 353 PD: Si hago tiempo, sale keygen... de maravilla funciona, gracias por resolverlo. Espero el keygen!
|
|
« Última modificación: 20 Julio 2012, 00:23 am por jEUDi17 »
|
En línea
|
En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.
|
|
|
MCKSys Argentina
|
La comprobacion del serial esta mal. Si ingresas un UserName de 3 caracteres (por ej. abc), el calculo se hace en forma incorrecta. En esta parte: 00401579 C745 84 00000000 MOV DWORD PTR SS:[EBP-7C],0 00401580 8B45 84 /MOV EAX,DWORD PTR SS:[EBP-7C] 00401583 3B45 9C |CMP EAX,DWORD PTR SS:[EBP-64] 00401586 7D 27 |JGE SHORT KeygenMe.004015AF 00401588 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8] 0040158B 0345 84 |ADD EAX,DWORD PTR SS:[EBP-7C] 0040158E 83E8 10 |SUB EAX,10 00401591 0FBE10 |MOVSX EDX,BYTE PTR DS:[EAX] 00401594 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8] 00401597 0345 84 |ADD EAX,DWORD PTR SS:[EBP-7C] 0040159A 83E8 0E |SUB EAX,0E 0040159D 0FBE00 |MOVSX EAX,BYTE PTR DS:[EAX] 004015A0 31D0 |XOR EAX,EDX 004015A2 83C0 09 |ADD EAX,9 004015A5 8945 94 |MOV DWORD PTR SS:[EBP-6C],EAX 004015A8 8D45 84 |LEA EAX,DWORD PTR SS:[EBP-7C] 004015AB FF00 |INC DWORD PTR DS:[EAX] 004015AD ^ EB D1 \JMP SHORT KeygenMe.00401580
Aqui se calcula un DWORD que despues sera usado para XORear. En resumen, despues de ejecutar el bucle, lo que hace esto es: xordw2 = (username[2] xor username[4]) + 9 Como ven, si el Username tiene 3 chars, entonces username[4] lee un byte de afuera del string. En resumen, el serial se calcularia asi: xordw1 = username[3] + 02Dh xordw2 = (username[3] xor username[5]) + 9 xordw3 = (xordw2 xor xordw1) + 7 xordw4 = (xordw3 xor xordw2) + 019h serial = xordw3 + xordw4 + 02Dh Pero bueno, calculo que se podria hacer un keygen para Usernames ede largo 4 a 10... Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
jEUDi17
Desconectado
Mensajes: 54
CrackSLatinoS
|
La comprobacion del serial esta mal. Si ingresas un UserName de 3 caracteres (por ej. abc), el calculo se hace en forma incorrecta. En esta parte: 00401579 C745 84 00000000 MOV DWORD PTR SS:[EBP-7C],0 00401580 8B45 84 /MOV EAX,DWORD PTR SS:[EBP-7C] 00401583 3B45 9C |CMP EAX,DWORD PTR SS:[EBP-64] 00401586 7D 27 |JGE SHORT KeygenMe.004015AF 00401588 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8] 0040158B 0345 84 |ADD EAX,DWORD PTR SS:[EBP-7C] 0040158E 83E8 10 |SUB EAX,10 00401591 0FBE10 |MOVSX EDX,BYTE PTR DS:[EAX] 00401594 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8] 00401597 0345 84 |ADD EAX,DWORD PTR SS:[EBP-7C] 0040159A 83E8 0E |SUB EAX,0E 0040159D 0FBE00 |MOVSX EAX,BYTE PTR DS:[EAX] 004015A0 31D0 |XOR EAX,EDX 004015A2 83C0 09 |ADD EAX,9 004015A5 8945 94 |MOV DWORD PTR SS:[EBP-6C],EAX 004015A8 8D45 84 |LEA EAX,DWORD PTR SS:[EBP-7C] 004015AB FF00 |INC DWORD PTR DS:[EAX] 004015AD ^ EB D1 \JMP SHORT KeygenMe.00401580
Aqui se calcula un DWORD que despues sera usado para XORear. En resumen, despues de ejecutar el bucle, lo que hace esto es: xordw2 = (username[2] xor username[4]) + 9 Como ven, si el Username tiene 3 chars, entonces username[4] lee un byte de afuera del string. En resumen, el serial se calcularia asi: xordw1 = username[3] + 02Dh xordw2 = (username[3] xor username[5]) + 9 xordw3 = (xordw2 xor xordw1) + 7 xordw4 = (xordw3 xor xordw2) + 019h serial = xordw3 + xordw4 + 02Dh Pero bueno, calculo que se podria hacer un keygen para Usernames ede largo 4 a 10... Saludos! Disculpa, no me fije en eso, cuando estaba haciendo el programa me fije mas que el programa genere un key para cada nombre, que fijarme en los errores que habia para el nombre de 3 caracteres. Intentaré ver como se soluciona eso, gracias por la aclaración y saludos. MCKSys Argentina gracias por tormarte el tiempo en analizar.
|
|
|
En línea
|
En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.
|
|
|
|
|