Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: ThunderCls en 4 Agosto 2009, 19:23 pm



Título: CrackME#1 by Thunder
Publicado por: ThunderCls en 4 Agosto 2009, 19:23 pm
Bueno, aqui les dejo mi primer crackme, esta echo en Borland C++, no sean muy exigentes  ;D
Este crackme estuvo propuesto para el pasado concurso de la lista CrackSLatinoS, pero casi nadie
se animo a hacerlo, por lo que lo subo al foro, por si alguien quiere echarle un ojo.
El que lo solucione me envia un privado con un serial valido para su nombre y una pequeña reseña de
como logro sacarlo

aqui les dejo el link de descarga....buena suerte.

http://sites.google.com/site/thundercrackslatinos/Home/almacen/CrackME.rar?attredirects=0


Título: Re: CrackME#1 by Thunder
Publicado por: NSaneBMX en 4 Agosto 2009, 19:28 pm
me temo que esto va en Wargames  ;)
lo estoy viendo.

Algun moooood??


Título: Re: CrackME#1 by Thunder
Publicado por: YST en 4 Agosto 2009, 19:31 pm
me temo que esto va en Wargames  ;)
lo estoy viendo.

Algun moooood??
¿Por que va a ir en wargames ?

ESsto va en ingeneria inversa! ;)


Título: Re: CrackME#1 by Thunder
Publicado por: ThunderCls en 4 Agosto 2009, 19:36 pm
me temo que esto va en Wargames  ;)
lo estoy viendo.

Algun moooood??

Concuerdo con YST..porque en wargame?, esto es ing inversa no?

http://foro.elhacker.net/ingenieria_inversa/crackme_1-t262387.0.html

ademas otros crackme se han publicado aqui mismo tb
salu2


Título: Re: CrackME#1 by Thunder
Publicado por: NSaneBMX en 4 Agosto 2009, 19:40 pm
Si, puede que vaya aqui, pero tan equivocado no estoy. en wargames tambien hay crackmes. El foro está un poco desordenado...


Título: Re: CrackME#1 by Thunder
Publicado por: Amerikano|Cls en 5 Agosto 2009, 21:06 pm
Pero este no, aqui va lo que va  ;), ponemos los crackmes que son mas que ingenieria inversa  :D


Título: Re: CrackME#1 by Thunder
Publicado por: [Everth] en 12 Agosto 2009, 20:38 pm
Este crackme estuvo propuesto para el pasado concurso de la lista CrackSLatinoS, pero casi nadie
se animo a hacerlo...

zip ya recuerdo, hay 2 zonas de chico bueno y malo, la verdad me enrede y peor aun que estoy mas verde :o en ingenieria inversa. gracias por el aporte!


Título: Re: CrackME#1 by Thunder
Publicado por: Amerikano|Cls en 13 Agosto 2009, 05:23 am
Y bueno yo lo mire y tambien tuve avances pero como sabran no dispongo de mucho tiempo y lo deje "temporalmente"  :P


Título: Re: CrackME#1 by Thunder
Publicado por: ThunderCls en 14 Agosto 2009, 21:27 pm
vamos...que con la cantidad de cerebros brillantes de este foro.... ;-)
nada, que si se ponen lo sacan en menos de lo que canta un gallo  :o
que si!!!!  ;D ;D ;D


Título: Re: CrackME#1 by Thunder
Publicado por: PeterPunk77 en 22 Octubre 2009, 13:21 pm
LLevaba meses sin entrar por aquí (e incluso sin entretenerme con la ingeniería inversa) pero estaba aburrido.

El keygen:
http://www.megaupload.com/?d=IWLW7KD0

Está compilado con el Masm32 y sólo testado en Windows XP, así que si alguien lo prueba en Vista ¿me podría decir cómo le va?
En principio el nombre que aparece por defecto es con el que está registrado Windows.
El fondo del Keygen debe ser igual que la parte del fondo del escritorio sobre la que está.
Debería sonar un midi que está en el keygen como recurso sin ser extraído temporalmente.

PD: Si a alguien que se le de bien el fotochop o cualquier otro programa de diseño, me quiere hacer otra imagen para el keygen (250x70) con temática Ingeniería inversa y punk (incluyendo mi nombre claro) le estaría eternamente agradecido  ;D (también admoto icono nuevo  :silbar:)


Título: Re: CrackME#1 by Thunder
Publicado por: ThunderCls en 22 Octubre 2009, 20:49 pm
bueno amigo, lo podrias subir a otro lugar?, es que no estoy pudiendo descargar de MEGAUP en estos dias, y no lo he podido ver, gracias.
Por cierto, podrias hacer un minitute o un pequeño recuento de como lo haz logrado?, para que todos aprendan, claro  ;D
salu2 y felicidades


Título: Re: CrackME#1 by Thunder
Publicado por: PeterPunk77 en 23 Octubre 2009, 14:59 pm
ThUnDeR_07, ¿te vale rapidshare?
http://rapidshare.com/files/296817429/Keygen_for_Thunder_s_Crackme__1_by_PeterPunk.zip.html

Ahora mismo no me apetece mucho escribir un tuto (tengo pendientes varios desde hace meses para crackmes.de, aunque igual ya están resueltos), pero aquí va un mini resumen:
- Desempaqué el .exe con el upx (parámetro -d)
- Ejecuté el crackme con el Olly y tras probarlo, busqué todas las cadenas.
- Había referencias a mi nick en 0x47D1A2 y al mostrarlo en el dump, sorpresa, cadena "REGISTRADO . . ." en 0x47D1C3.
- Marcamos la primera "R" de la cadena en el dump y buscamos las referencias a esta cadena (CTRL+R):
Código
  1. References in Crackme_:.text to 0047D1C3..0047D1C3, item 0
  2. Address=00402FCE
  3. Disassembly=CMP DL,[ECX+47D1C3]
  4.  
- Estudiamos esa parte del código:
Código
  1. 00402F84   |> /8B55 E4                  /MOV EDX,[EBP-1C]
  2. 00402F87   |. |33C9                     |XOR ECX,ECX                            ;  (Initial CPU selection)
  3. 00402F89   |. |8A4C15 E8                |MOV CL,[EBP+EDX-18]
  4. 00402F8D   |. |81C1 79FFFFFF            |ADD ECX,-87
  5. 00402F93   |. |894D FC                  |MOV [EBP-4],ECX
  6. 00402F96   |. |330D 8CD14700            |XOR ECX,[47D18C]
  7. 00402F9C   |. |894D FC                  |MOV [EBP-4],ECX
  8. 00402F9F   |. |8A45 FC                  |MOV AL,[EBP-4]
  9. 00402FA2   |. |8B55 E4                  |MOV EDX,[EBP-1C]
  10. 00402FA5   |. |8882 B2D14700            |MOV [EDX+47D1B2],AL
  11. 00402FAB   |. |FF45 E4                  |INC DWORD PTR [EBP-1C]
  12. 00402FAE   |> |8D4D E8                   LEA ECX,[EBP-18]
  13. 00402FB1   |. |51                       |PUSH ECX
  14. 00402FB2   |. |E8 09B50500              |CALL 0045E4C0
  15. 00402FB7   |. |59                       |POP ECX
  16. 00402FB8   |. |3B45 E4                  |CMP EAX,[EBP-1C]
  17. 00402FBB   |.^\77 C7                    \JA SHORT 00402F84
  18. 00402FBD   |.  EB 03                    JMP SHORT 00402FC2
  19. 00402FBF   |>  FF45 F8                  /INC DWORD PTR [EBP-8]
  20. 00402FC2   |>  8B45 F8                   MOV EAX,[EBP-8]
  21. 00402FC5   |.  8A90 B2D14700            |MOV DL,[EAX+47D1B2]
  22. 00402FCB   |.  8B4D F8                  |MOV ECX,[EBP-8]
  23. 00402FCE   |.  3A91 C3D14700            |CMP DL,[ECX+47D1C3]
  24. 00402FD4   |.^ 74 E9                    \JE SHORT 00402FBF
- Con una ojeada vemos que compara la cadena con otra que varía según un xor en la línea:
Código
  1. 00402F96   |.  330D 8CD14700            |XOR ECX,[47D18C]
- Para que las dos cadenas sean iguales necesitamos un "xor ecx, 7"
- Buscamos las referencias a 0x47D18C:
Código:
References in Crackme_:.text to 0047D18C
Address     Disassembly                                 Comment
00401AB9    MOV [47D18C],EDX
00401B0F    INC DWORD PTR [47D18C]                      DS:[0047D18C]=00000001
004020A5    INC DWORD PTR [47D18C]                      DS:[0047D18C]=00000001
0040252A    INC DWORD PTR [47D18C]                      DS:[0047D18C]=00000001
0040281E    INC DWORD PTR [47D18C]                      DS:[0047D18C]=00000001
004029C4    INC DWORD PTR [47D18C]                      DS:[0047D18C]=00000001
00402CC0    INC DWORD PTR [47D18C]                      DS:[0047D18C]=00000001
00402ED8    INC DWORD PTR [47D18C]                      DS:[0047D18C]=00000001
00402F96    XOR ECX,[47D18C]                            (Initial CPU selection)
- Estudiamos el código próximo a todas las referencias que hagan "INC DWORD PTR [47D18C]" y ahí encontraremos fácilmente las características del serial:
1 - El nombre introducido debe tener entre 5 y 15 caracteres
2 - La longitud del serial es de 21
3 - Los caracteres 3, 11y 19 del serial son guiones
4 - Hay más caracteres fijos: los dos primeros son "TH", los anteriores al segundo guion seon "UN", "D3" los anteriores al tercer guion y el último es una "R": TH-?????UN-?????D3-?R
5 - El penúltimo caracter es la longitud del nombre
6 - Los cinco primeros que faltan son suma_asciis_nombre + 0x1987 xor 0xBADD + 0xDEAD en hexadecimal
7 - Los restantes son suma_asciis_nombre + 0x2009 xor 0xDADD + 0xF00D en hexadecimal


Título: Re: CrackME#1 by Thunder
Publicado por: ThunderCls en 26 Octubre 2009, 14:24 pm
muy bien PeterPunk77, te lo has trabajado muy bien  ;)
bueno, pues eso, felicitarte por tu trabajo.....eres el primero
que lo resuelve y con keygen y todo  ;D
saludos

[Resuelto Por]
-PeterPunk77