Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: x4uth en 3 Marzo 2006, 03:06 am



Título: CrackMe02 by x4uth
Publicado por: x4uth en 3 Marzo 2006, 03:06 am
Objetivo: (CD-CHECK) parchear el programa de forma tal que entre con cualquier CD o incluso sin ninguno
Protecciones: Anti-Debugg, Anti-Olly
Compilador: VC++7.0

(http://foro.elhacker.net/Themes/default/images/bbc/url.gif)Descargar CrackMe02c.rar (http://personal.telefonica.terra.es/web/carlos-ea/ie/CrackMe02c.rar) (06-03-06 arreglado bug)

Me han enviado la solucion correcta:
04-03-06 pERICOTE
05-03-06 tena
06-03-06 OberonCracker


Título: Re: CrackMe02 by x4uth
Publicado por: pERICOTE en 4 Marzo 2006, 02:23 am
Despues de todo un buen trabajo para divertirse un rato. Dejo un enlace para bajar el no-cd del Crackme02 by x4uth



Espero que otros tambien lo logren
 ;D ;D ;D

Por otro lado, estoy esperando con ansias el tuto del CrackMe01


Título: Re: CrackMe02 by x4uth
Publicado por: x4uth en 4 Marzo 2006, 03:00 am
Felicitaciones, ¿podrias hacernos un pequeño tuto de como lo hiciste?


Título: Re: CrackMe02 by x4uth
Publicado por: pERICOTE en 4 Marzo 2006, 03:42 am
Claro que si, pero creo que hay que dar la oportunidad a otros para que traten de solucionar el reto. Mientras tanto no nos hiria nada mal que salga a la luz el tuto del CrackMe01 by x4uth... jejeje
 ;D ;D ;D


Título: Re: CrackMe02 by x4uth
Publicado por: x4uth en 4 Marzo 2006, 04:00 am
bueno entonces quita el link a la solucion asi los demas tendran que eforzarse.

PD: mire los parches que hisiste y me di cuenta que tuve un fallo al programar, de todos modos no cambia mucho (es una tonteria el fallo) pero = lo e corregido y lo subo actualizo el post

PD2: el CrackMe01 voy a dar unos dias mas , ya que puede que alguno todavia lo esta intentando, si nadie lo resuelve hago yo mismo el tuto, aunque no tiene mucha gracia pos ya me se las vueltas que da...

PD3: de que estilo os gustaria que fuera el CrackMe03 ¿?


Título: Re: CrackMe02 by x4uth
Publicado por: pERICOTE en 4 Marzo 2006, 15:37 pm
OK enlace descenlazado para dar ocasion para que otros resuelvan el reto.

Con relacion al ltuto del crackme01 esperaremos esos dias mas, espero que sean dos o tres, jeje.

El crackme03 creo que deberia ser desempaquetado de UPX con cientos de interrupciones que impidan al desempaquetado su ejecucion; claro esta con pistas, jeje.
 ;D ;D ;D



Título: Re: CrackMe02 by x4uth
Publicado por: x4uth en 4 Marzo 2006, 18:11 pm
desempaketado de UPX ? tendria que buscar informacion del tema     y para eso de las interrupciones tambien tendria que buscar informacion.

y bueno con el estilo me referia mas que nada a los obstaculos tipicos de los programas (Name/Serial; Trial version /que se expire por dias por ejemplo, Nag, KeyFile, Cd-Check, etc)


Título: Re: CrackMe02 by x4uth
Publicado por: OberonCracker en 5 Marzo 2006, 01:56 am
Creo que no nos vendria nada mal un name/serial cuyo name sea un id generado por la propia pc, siendo el reto encontrar el serial correspondiente, y si fuese posible empakado con un mod-UPX.


Título: Re: CrackMe02 by x4uth
Publicado por: OberonCracker en 6 Marzo 2006, 01:27 am
Crackme02beta by x4uth solucionado, aunque debo confesar que me quedo con el Crackme02 version original, porque que la version beta tiene un bug por tanto afan de proteccion. En fin igual me ha resultado muy aleccionador y divertido.


Título: Re: CrackMe02 by x4uth
Publicado por: x4uth en 6 Marzo 2006, 12:58 pm
tienes razon OberonCracker ya vi cual era el problema, esas cosas pasan por hacerlo apurado, ya esta arreglado el bug espero que no aya mas ninguno :S


Título: Re: CrackMe02 by x4uth
Publicado por: pERICOTE en 23 Marzo 2006, 04:58 am
SUPER MINITUTE CRACKME02 BY x4uth

Bueno sabemos que la api que permite anticiparnos a la detección de la unidad de CD es la api GetDriveTypeA, asi que colocamos los BPs respectivos

Al dar RUN caemos aquí

7C911231    C3              RETN

Ejecutamos el RETN y caemos en este lado, una sesion antidebug que es el contenido de la call 00404F35 la cual nos hecha fuera

00401040  |    55             PUSH EBP         ; AQUI ENSAMBLO UN RET
00401041  |.  8BEC         MOV EBP,ESP
00401043  |.  6A FF         PUSH -1
00401045  |.  68 30954100   PUSH CrackMe0.00419530
0040104A  |.  68 58404000   PUSH CrackMe0.00404058                   
0040104F  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00401055  |.  50            PUSH EAX
00401056  |.  64:8925 00000>MOV DWORD PTR FS:[0],ESP
0040105D  |.  83EC 08       SUB ESP,8
00401060  |.  53            PUSH EBX
00401061  |.  56            PUSH ESI
00401062  |.  57            PUSH EDI
00401063  |.  8965 E8       MOV DWORD PTR SS:[EBP-18],ESP
00401066  |.  C745 FC 00000>MOV DWORD PTR SS:[EBP-4],0
0040106D  |.  FF15 60924100 CALL DWORD PTR DS:[<&KERNEL32.DebugBreak>; [DebugBreak
00401073  |.  6A 00         PUSH 0                                   ; /ExitCode = 0
00401075  \.  FF15 64924100 CALL DWORD PTR DS:[<&KERNEL32.ExitProces>; \ExitProcess

Ensamblo un RET en 00401040 para que toda las instrucciones consecutivas nunca se ejecuten

Luego doy RUN y caigo ahora si en el BP

0040220C  |.  8B2D 08924100 MOV EBP,DWORD PTR DS:[<&KERNEL32.GetDriv>;  kernel32.GetDriveTypeA
00402212  |.  8B3D 0C924100 MOV EDI,DWORD PTR DS:[<&KERNEL32.GetVolu>;  kernel32.GetVolumeInformationA
00402218  |>  56            /PUSH ESI
00402219  |.  FFD5          |CALL EBP
0040221B  |.  83F8 05     |CMP EAX,5   ; COMPARACION CLAVE
0040221E  |.  75 1E         |JNZ SHORT CrackMe0.0040223E
00402220  |.  6A 0A         |PUSH 0A
00402222  |.  6A 00         |PUSH 0
00402224  |.  6A 00         |PUSH 0
00402226  |.  6A 00         |PUSH 0
00402228  |.  8D4C24 20     |LEA ECX,DWORD PTR SS:[ESP+20]
0040222C  |.  51            |PUSH ECX
0040222D  |.  6A 0C        |PUSH 0C
0040222F  |.  6A 00         |PUSH 0
00402231  |.  56               |PUSH ESI
00402232  |.  FFD7          |CALL EDI
00402234  |.  817C24 10 8C2>|CMP DWORD PTR SS:[ESP+10],37B52C8C     
0040223C      75 29         JE SHORT CrackMe0.00402267              ;  SALTO CLAVE

Invierto el salto clave para que se ejecute si no son iguales y de esta manera hacemos creer al programa que el CD esta insertado.

Buen trabajo x4uth. Saludos a los newbies que aun no concilian sueño a pesar de los dias trascurridos...
 ;D ;D ;D


Título: Re: CrackMe02 by x4uth
Publicado por: x4uth en 23 Marzo 2006, 17:13 pm
buen trabajo, aunque no entiendo que hiciste para caer en 7C911231

Citar
Al dar RUN caemos aquí

7C911231    C3              RETN

a mi la proteccion antidebug me cierra el Olly sin parar en ningun sitio


Título: Re: CrackMe02 by x4uth
Publicado por: OberonCracker en 24 Marzo 2006, 01:00 am
Tambien cai en el mismo lugar, era porque en mi caso habia utilizado los plugins que ocultan el ollydbg ( el hideod, el IsDebug&ExtraHide y el HideDebugger123f ). Espero que no nos prepares un anti anti anti ollydbg, seria faltal,  ::).


Título: Re: CrackMe02 by x4uth
Publicado por: pERICOTE en 28 Marzo 2006, 02:33 am
ut supra  ;D ;D ;D


Título: Re: CrackMe02 by x4uth
Publicado por: Ninja27 en 28 Marzo 2006, 20:58 pm
Oberon...man, donde puedo encontrar todos esos Hides para el Olly? y como los instalo?
Desde ya muchisimas gracias, y si ...me toy dando el "mate" contra la pared!!!


Título: Re: CrackMe02 by x4uth
Publicado por: OberonCracker en 29 Marzo 2006, 04:22 am
Aqui esta, no solo puedes encontrar los plugins mas importantes del ollydbg sino tambien otras herramientas mas.

http://www.ech2004.net/ver_noticias.php

Para instalarlo puedes crear una carpeta dentro del directorio del olly, llamado plugins y colocas alli todos los plugins que te interesen, y para que el olly te lo reconozca tienes que configurarlo asi: Options - Appearance - plugins patch, y le das la ruta del subdirectorio plugins.Espero que te sirva.


Título: Re: CrackMe02 by x4uth
Publicado por: Ninja27 en 29 Marzo 2006, 23:18 pm
Perfecto man! gracias! :D