Título: CrackMe if you can III (Reborn) Publicado por: Karman en 15 Enero 2013, 06:00 am Tras mucho tiempo de no postear en este foro, me decidí hacer este pequeño y tonto crackme para el que tenga ganas de jugar con el... cabe aclarar que es demasiado simple como para parchearlo por lo que la idea es obtener un usuario y clave válido por lo menos (aunque un keygen no es muy complicado una vez entendido el algoritmo)... :P
Sin más preámbulo se los dejo: CrackMe if you can III (Reborn) (http://www.mediafire.com/?pa647pgyh3d8p25) S2 Título: Re: CrackMe if you can III (Reborn) Publicado por: apuromafo CLS en 15 Enero 2013, 22:10 pm demasiado simple parcharlo?
Código: 004017C3 837D EC 00 CMP DWORD PTR SS:[EBP-0x14],0x0 luego mostraría Citar --------------------------- CrackMe If You Can III (Reborn) --------------------------- Clave Correcta, Ahora Haz un Tutorial! --------------------------- Aceptar interesante tus rutinas, espero alguien se anime a intentar un usuario y serial. largo del nombre Código: 00401869 E8 1E030000 CALL <JMP.&KERNEL32.lstrlenA> Código: 004018AA E8 DD020000 CALL <JMP.&KERNEL32.lstrlenA> Título: Re: CrackMe if you can III (Reborn) Publicado por: Mad Antrax en 16 Enero 2013, 16:27 pm Ueeeee, mi primer crackme ajeno que consigo destripar :P (llevo 3 dias con este tema del craking)
Me ha gustado mucho, yo estoy terminando de programar un crackme sencillito, en breve lo subo para que probéis :D PD: Solo he logrado parchear el exe, no he visto el serial por ninguna parte :( Título: Re: CrackMe if you can III (Reborn) Publicado por: tincopasan en 17 Enero 2013, 11:04 am Saludos! Gracias por el crackme, es fácil, aunque me llevó como una hora porque soy un poco inútil! La verdad no había visto una rutina como la tuya! será porque no le entendí un carajo jeje!
solución para mi: user tinco pass 0CA0B75F éxitos Título: Re: CrackMe if you can III (Reborn) Publicado por: Karman en 18 Enero 2013, 18:20 pm Saludos! Gracias por el crackme, es fácil, aunque me llevó como una hora porque soy un poco inútil! La verdad no había visto una rutina como la tuya! será porque no le entendí un carajo jeje! solución para mi: user tinco pass 0CA0B75F éxitos sip, lo solucionaste!, ahora solo faltaría que explicaras como hiciste! :P S2 Título: Re: CrackMe if you can III (Reborn) Publicado por: tincopasan en 19 Enero 2013, 01:27 am Una pequeña explicación de lo que hice:
Aclaración: los que me conocen de otro lado saben que no sé que significa mov al,1 mi amigo solid me lo explicó hace como 4 años pero mi neurona no aprende. Por lo tanto pido disculpas a los que realmente saben por mi atrevimiento. Y al autor del crackme: dije que es fácil porque en escala de 1 a 10 mis conocimientos de ensamblador = 1 (cmp,jmp,je) uso del ollydbg = 3 mirar stack, F7 y F8 conocimientos de apis o funciones= 1 GetDlgItemTextA Sin embargo lo resolvi! 1) no tiene protección extra. 2) al cargarlo en olly se ve en el dump 00403004 00404084 ASCII "Clave Correcta, Ahora Haz un Tutorial!" 00403008 004040AC ASCII "Clave Incorrecta, Sigue Intentando :P!" 3) en la ventana C busco la constante 403004 004017BE E8 01040000 CALL <JMP.&msvcrt.printf> ni idea! 004017C3 837D EC 00 CMP DWORD PTR SS:[EBP-14],0 compara con 0 004017C7 74 07 JE SHORT crackme.004017D0 si no salta... a llorar al campito 004017C9 A1 08304000 MOV EAX,DWORD PTR DS:[403008] chico malo 004017CE EB 05 JMP SHORT crackme.004017D5 004017D0 A1 04304000 MOV EAX,DWORD PTR DS:[403004] chico bueno! 004017D5 C9 LEAVE 004017D6 C3 RETN 4) como tiene que tomar el usuario y nombre bp en recuperadores de texto en este caso es: 00401836 E8 09030000 CALL <JMP.&USER32.GetDlgItemTextA> adquiere el usuario 0040185B E8 E4020000 CALL <JMP.&USER32.GetDlgItemTextA> adquiere el serial 00401869 E8 1E030000 CALL <JMP.&KERNEL32.lstrlenA> toma el nombre y saca el largo 00401871 83F8 03 CMP EAX,3 00401874 7F 2E JG SHORT crackme.004018A4 tiene que ser mayor a 3 caracteres 004018AA E8 DD020000 CALL <JMP.&KERNEL32.lstrlenA> toma el serial y saca el el largo 004018B2 83F8 07 CMP EAX,7 004018B5 7F 2B JG SHORT crackme.004018E2 tiene que ser mayor a 7 caracteres 5) 004018FE E8 C9020000 CALL <JMP.&msvcrt.strtoul> ni idea! 0040190B E8 C7010000 CALL crackme.00401AD7 ni idea! 00401910 895C24 04 MOV DWORD PTR SS:[ESP+4],EBX obvio que ni idea! pero eax = 5DCAAB1C 6) 004017BE E8 01040000 CALL <JMP.&msvcrt.printf> ni idea! en el stack... 0022F974 00404188 |format = "%X %X %X " 0022F978 5DCAAB1C |<%X> = 5DCAAB1C conocido 0022F97C 12503760 |<%X> = 12503760 mi serial 0022F980 1A538001 \<%X> = 1A538001 ni idea! 7) 004017C3 837D EC 00 CMP DWORD PTR SS:[EBP-14],0 se ve: Stack SS:[0022F988]=1A538001 comparado con 0 8) por lo tanto solo hay que comprobar 3 cosas: a) ¿se obtiene a partir del nombre? tinco = 5DCAAB1C prueba: pepe = 16809A6A tincopasan = 9066930C o sea: ni idea que hace pero queda una cadena hexadecimal de 8 caracteres b) ¿qué pasa si cambio el serial? 1250376T stack 0022F978 5DCAAB1C |<%X> = 5DCAAB1C nombre 0022F97C 01250376 |<%X> = 1250376 ¿y la T? 0022F980 0D8C541B \<%X> = D8C541B ajá!!!! resultado haciendo pruebas llegué a la conclusión que solo toma caracteres hexadecimales y que no hay que superar el máximo valor porque sino queda FFFFFFFF 0022F974 00404188 |format = "%X %X %X " 0022F978 5DCAAB1C |<%X> = 5DCAAB1C 0022F97C FFFFFFFF |<%X> = FFFFFFFF 0022F980 0CE358A0 \<%X> = CE358A0 c) ¿qué pasa si pongo como serial 5DCAAB1C? 0022F978 5DCAAB1C |<%X> = 5DCAAB1C 0022F97C 5DCAAB1C |<%X> = 5DCAAB1C 0022F980 5129F3BD \<%X> = 5129F3BD no da 0! :-( ¿y si modifico el serial cambia todo el resultado o solo 1 caracter? 0022F978 5DCAAB1C |<%X> = 5DCAAB1C 0022F97C 5DCAAB1F |<%X> = 5DCAAB1F serial nuevo, ya hay un 0 0022F980 AED60C40 \<%X> = AED60C40 ok 0022F978 5DCAAB1C |<%X> = 5DCAAB1C 0022F97C 5DCAAB5F |<%X> = 5DCAAB5F cambiando de a un caracter voy obteniendo los 0 0022F980 AED60C00 \<%X> = AED60C00 En resumen si pruebo de a un caracter (total son solo 16 por cada uno) 0022F974 00404188 |format = "%X %X %X " 0022F978 5DCAAB1C |<%X> = 5DCAAB1C 0022F97C 0CA0B75F |<%X> = CA0B75F el serial es = 0CA0B75F 0022F980 00000000 \<%X> = 0 resultado buscado!!! Título: Re: CrackMe if you can III (Reborn) Publicado por: Karman en 19 Enero 2013, 01:46 am está bien, resolviste el algoritmo por fuerza bruta... es válido :P, faltaría que alguien haga un keygen (es muy simple viendo lo que encontró tincopasan)
S2 |