Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: pags2 en 23 Noviembre 2011, 13:19 pm



Título: AYUDA CON UN CRACKME
Publicado por: pags2 en 23 Noviembre 2011, 13:19 pm
Hola, estoy empezando con esto de crackear y necesito ayuda con un crackme. He conseguido la clave abriendo el programa con el bloc de notas, y revisando la cantidad de signos que había, pero a la hora de hacerlo con el ollydbg me es imposible. No consigo ni crackearlo ni sacar la clave.

¿Me podrían ayudar?

Nota: la clave buena es: 0130-1414-5624-1341 pero ya digo que la he conseguido con el bloc de notas cosa que normalmente digo yo que no es lo normal.

El crackme en cuestión lo pueden encontrar en:

http://www.megaupload.com/?d=OJ0C26CI (http://www.megaupload.com/?d=OJ0C26CI)

UN SALUDO Y GRACIAS


Título: Re: AYUDA CON UN CRACKME
Publicado por: Tinkipinki en 24 Noviembre 2011, 13:10 pm
Hola pags2:
Yo tambien soy nuevo en esto.
Lo que yo he hecho ha sido mirar en la memoria cuando cargaba la string de serial falso "Sorry, you entered........"
Porque he hecho esto, pues porque poniendole un BP en la API MessageBoxA no me paraba en ningun lugar del codigo.
Cargas el programa en Olly
Lo ejecutas con F9
Entras el serial falso
Dejas que aparezca la pantalla de " Sorry.........."
Sin cerrar la pantalla aprietas ALT+M y te aparecera la ventana de memoria.
En esta ventana haces Search for y en el cuadro de dialogo le pones Sorry sin nada mas y le das al search. Veras que para y encontraras toda la frase completa y si te fijas un poco mas arriva veras toda una serie de bloques de numeros y todos si los vas provando son serials validos.

Esta es una tecnica que aprendi en este foro. No es ni muchomenos la unica manera de resolver este crackme, solo es una manera rapida de hacerlo que funciona solo en algunos casos.

Si hay algun error en este metodo ya me perdonaran y corregiran la gente que tiene mucha mas experiencia que yo.

Saludos


Título: Re: AYUDA CON UN CRACKME
Publicado por: pags2 en 24 Noviembre 2011, 14:41 pm
Muchas Gracias Tinkipinki.
Quiero ir un poquito más allá, a ver si pueden averiguar el salto o saltos que hay que cambiar para poder crackearlo, porque le he invertido bastante tiempo pero no he podido encontrarlo.
UN SALUDO


Título: Re: AYUDA CON UN CRACKME
Publicado por: Flamer en 25 Noviembre 2011, 02:45 am
Subelo otrabes el link esta caido
no puedo bajar el crackme
saludos


Título: Re: AYUDA CON UN CRACKME
Publicado por: Tinkipinki en 25 Noviembre 2011, 13:27 pm
Si pones un BP en 46DC2A PUSH EAX ingresa en la pila el serial correcto.
En 46DC97 JA  es el salto de la comparacion anterior CMP EDX,2 que compara el valor de EDX que en mi caso es es 2 por lo tanto no salta porque 2 no es superior a 2.
Si cambias este JA por un JNA saltara y estaras registrado.

Saludos


Título: Re: AYUDA CON UN CRACKME
Publicado por: pags2 en 25 Noviembre 2011, 14:19 pm
Si pones un BP en 46DC2A PUSH EAX ingresa en la pila el serial correcto.
En 46DC97 JA  es el salto de la comparacion anterior CMP EDX,2 que compara el valor de EDX que en mi caso es es 2 por lo tanto no salta porque 2 no es superior a 2.
Si cambias este JA por un JNA saltara y estaras registrado.

Saludos

MUCHAS GRACIAS, puedes explicarme cómo llegaste a la dirección 46DC2A? yo la verdad es que estaba analizando la parte del código en la que ya aparece el mensaje, y ya veo que no era la correcta.

UN SALUDO


Título: Re: AYUDA CON UN CRACKME
Publicado por: pags2 en 25 Noviembre 2011, 14:20 pm
Subelo otrabes el link esta caido
no puedo bajar el crackme
saludos

Flamer el link funciona perfecto. Ya me dieron la solución, muchas gracias


Título: Re: AYUDA CON UN CRACKME
Publicado por: .:UND3R:. en 25 Noviembre 2011, 14:46 pm
Flamer el link funciona perfecto. Ya me dieron la solución, muchas gracias

 ;-) esperamos verte más seguido en el subforo bienvenido  ;-)


Título: Re: AYUDA CON UN CRACKME
Publicado por: Tinkipinki en 25 Noviembre 2011, 14:55 pm
Pues repasando las API del programa vi la ComparestringA y ComparestringW por lo que tenian que comparar algo, le puse un BP on every reference a la ComparestringW y vi que cuando paraba en la zona de codiago aparecia el serial correcto y apartir de ahi fui traceando con F8 para no entrar en las calls hasta que me tope con la comparacion y el jump, modifique el jump para ver si era el correcto y funciono.
No siempre es asi de facil pero bueno en este caso ha funcionado, es cuetion de tener paciencia y ir mirando las API por si alguna puede llevarte al sitio correcto.

Saludos


Título: Re: AYUDA CON UN CRACKME
Publicado por: pags2 en 25 Noviembre 2011, 17:45 pm
Gracias por todo Tinkipinki ya lo tengo todo claro. Seguiré aprendiendo...
UN SALUDO


Título: Re: AYUDA CON UN CRACKME
Publicado por: .:UND3R:. en 26 Noviembre 2011, 09:21 am
Mini tutorial:

1-Cargamos el crackme desde OllyDBG
buscamos referencias de modules y encontramos las siguientes interesantes:
MessageBoxW
CompareStringW

2-Iniciamos el programa colcamos las BP ingresamos cualquier serial y nos detendremos en el llamado a la API CompareStringW, veremos los serial correctos
que son comparados con lo que hemos ingresado

Obviamente los créditos son de Tinkipinki ya que no me había percatado de que en la memoria estaban cargados los seriales correctos, Saludos tinkipinki ;-)