elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 21:59  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: Shaddy, karmany)
| | |-+  crackme 1 y 2
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: crackme 1 y 2  (Leído 4,656 veces)
tazzmk

Desconectado Desconectado

Mensajes: 17


Ver Perfil
crackme 1 y 2
« en: 18 Octubre 2007, 00:02 »

Hola aca les traigo unos problemas a solucionar

solo eh podido encontrar la solucion al crackme 1 aun no eh podido con el crackme 2

disfrutenlo !!

Crackme 1



Crackme 2



Bajar Pack Crackme 1 y 2
http://rapidshare.com/files/63294313/crackme1y2.rar
En línea
yardbird_miguel

Desconectado Desconectado

Mensajes: 81


Long Live Rock ´N´Roll


Ver Perfil
Re: crackme 1 y 2
« Respuesta #1 en: 18 Octubre 2007, 00:57 »

1ero resuelto

Contraseña por privado

Editado: Mañana miro el segundo

Suerte
« Última modificación: 18 Octubre 2007, 01:17 por yardbird_miguel » En línea

...In my heart, In my mind, in my soul I was looking for you..."July Morning" Uriah Heep

...ohhhhhh, ohhhhh, ohhhhh, ohhhhh, all you need is Rock ´N´Roll..."All You Need Is Rock ´N´Roll" White Lion

...Te suplico que me avises si me vienes a buscar, no es porque te tenga miedo, solo me quiero arreglar... "Cancion Para Mi Muerte" Sui Generis
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: crackme 1 y 2
« Respuesta #2 en: 27 Octubre 2007, 20:40 »

Después de echarles un vistazo, voy a añadir (aunque no sean del autor de este post), estos dos crackmes ya que son muy interesantes para Newbies:
-El crackme 1 porque del (1-10) tiene de dificultad 0.
-El crackme 2 es muy interesante ya que trabaja con variables de tipo Double, y  aunque es muy sencillo, utiliza los registros de la pila (hay 8, ST0-ST1-...-ST7) y puede despistar. Incluso hay una instrucción que hace referencia a un Qword = 8 bytes.
Todo esto de las operaciones con punto flotante es muy interesante... y difícil. Este crackme nos puede ayudar a comprender un poco todo este tema.

Hay un doc muy interesante sobre este tema del punto flotante. El enlace está en el post-it de "Links Interesantes".
En línea

- "Tu sitio para aprender, enseñar y compartir"
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: crackme 1 y 2
« Respuesta #3 en: 15 Noviembre 2007, 20:53 »

Sólo para los recién iniciados en el Arte de la Ingeniería Inversa...!!

A ver si alguien (abstenerse los foreros con experiencia) se atreve a hacer un pequeño tutorial de cómo resolver el crackme1. Con 2-3 lineas sobra  ;)

Pd. Si alguien sabe cómo resolverlo, pero no está seguro de hacer bien el tutorial o tiene dudas.... un mp.

Es muy sencillo, no podemos dejar éste sin solucionar...

Un saludo
karmany
En línea

- "Tu sitio para aprender, enseñar y compartir"
Vingilot

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: crackme 1 y 2
« Respuesta #4 en: 23 Diciembre 2007, 13:50 »

Hola!

Apenas llevo unos pasos en esto del cracking, proponiais que un novato en el tema propusiera un tutorial, he intentado hacerlo pero me ha resultado imposible.

Averigüe cual es la clave para entrar ya que venía como unicode al abrirlo con el OllyDBG, estuve leyendo las lecciones, de ricardo narvaja y en su primer crakme cambio un salto condicional por uno sin condición y ese crackme lo resolvi, trate de hacer lo mismo con este pero no ha dado resultado nada de lo que intente, me centre en esta parte del código:

00401E7B     CMP EAX,EDI
00401E7D     JGE SHORT Crackme1.004017C8

Que salta a la parte donde pone el unicode.

Si pueden darme algún consejo seguire con ello, entiendo que es un crakme muy sencillo incluso para iniciados pero bueno poco a poco se empieza

Un saludo.
En línea
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: crackme 1 y 2
« Respuesta #5 en: 23 Diciembre 2007, 22:45 »

Hola Vingilot, bienvenido.

Muy bien por tu interés, es la forma de aprender. Cualquier duda que tengas te echaremos un cable.

Voy a echar un vistazo al crackme1 a ver dónde fallas... luego vuelvo..

Un saludo
karmany
En línea

- "Tu sitio para aprender, enseñar y compartir"
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: crackme 1 y 2
« Respuesta #6 en: 23 Diciembre 2007, 23:04 »

Acabo de echarle un vistazo, te voy a explicar dónde fallas.

Mira efectivamente estás en la zona correcta. Sólo hay una subrutina que comienza en:
401E00 PUSH EBP
y termina en
401FC0 RETN

Ése salto en el que te has parado, cuando examines más programas compilados en Visual Basic, verás que es un salto característico y que normalmente siempre salta. No tiene nada que ver con el serial ni con nada de eso, pero eso ya lo verás cuando examines varios programas en Visual Basic.

Continúa después de ese salto, no lo modifiques y sigue el código y seguidamente verás una función típica de Visual Basic: __vbaStrCmp

Ya no te digo más... jeje

Bueno si sigues teniendo dudas, coméntalo
Un saludo
karmany
En línea

- "Tu sitio para aprender, enseñar y compartir"
sempus
Dakishimetai no ni...
Colaborador
***
Desconectado Desconectado

Mensajes: 2.326


GJDAM 愛している


Ver Perfil
Re: crackme 1 y 2
« Respuesta #7 en: 24 Diciembre 2007, 01:28 »

00401E7B     CMP EAX,EDI
00401E7D     JGE SHORT Crackme1.004017C8
estas bien,yo comenze con esto pero lo deje por falta de tiempo, recien hoy me puse a verlo y el primero esta demasido facil

despues de poner tu BP en 00401E7B ya lo tienes cocinado
cuando olly se detenga presiona f7 y luego f8 hasta llegar a 00401E9A (Que es lo que dijo karmany "vbastrcmp) cuando estas alli ya lo hiciste todo
strcmp=instruccion para comparar cadenas

solo tienes que ver que hay en la parte inferior derecha (no me acuerdo como se llama)


no se si con esto violo regla alguna



si me equivoco por favor hacermelo saber
En línea

...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE
Vingilot

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: crackme 1 y 2
« Respuesta #8 en: 24 Diciembre 2007, 11:03 »

Gracias por su ayuda tanto de karmany como de sempus, la verdad es que estaba obcecado con ese CMP y no vi __vbaStrCmp, tengo ligeros conocimientos en programación en C así que esto lo vi ya más claro.

Corri el programa varias veces para ver por donde iba el "chico malo" y por donde el "chico bueno", y el salto estaba en:

00401EDA   JE SHORT Crackme1.000401F1F

Cuando saltaba mostraba el mensaje de error, (al cual le tengo ya algo de manía).

Trate de poner alguna instrucción para que no saltase pusiese lo que pusiese el usuario pero de tan verde aún no conozco que comandos usar, así que trás pelearme con él un rato decidi jugar sucio, no quiero que saltes? pues te borro.


00401EDA   CMP EAX,EAX

Si lo sé me direis que es burdo y una chapuza que es una instrucción que no hace nada pero bueno funciona ^^.

Un saludo a todos y muchas gracias por el tiempo que emplean, si más adelante tengo mejores bases haré encantado el tutorial pero la verdad es que aún hago las cosas en plan prueba error y no quiero liar a la gente.

Una vez más gracias. Me gusta el mundillo este de la Ingeniería Inversa.
En línea
sempus
Dakishimetai no ni...
Colaborador
***
Desconectado Desconectado

Mensajes: 2.326


GJDAM 愛している


Ver Perfil
Re: crackme 1 y 2
« Respuesta #9 en: 24 Diciembre 2007, 14:58 »


00401EDA   JE SHORT Crackme1.000401F1F

Cuando saltaba mostraba el mensaje de error, (al cual le tengo ya algo de manía).

Trate de poner alguna instrucción para que no saltase pusiese lo que pusiese el usuario pero de tan verde aún no conozco que comandos usar
00401EDA   JE SHORT Crackme1.000401F1F
efectivamente aca tienes que cambiar el JE por un JNZ y luego guarda los cambios y cuando el usuario digite algo (sea lo que sea) dara el mensaje correcto a menos claro que digite de suerte la clave que es correcta entonces dara error.

solo ve a esa direccion y presiona barra espaciadora, luego donde dice JE cambialo por JNZ y presiona el boton assemble, luego cierra la ventanita y da click derecho y "copy to ejecutable-selection" cierra la ventana que se abre luego y da "si" coloca el nombre que quieres y da guardar, eso es todo.

En línea

...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: crackme 1 y 2
« Respuesta #10 en: 24 Diciembre 2007, 15:45 »

Ok perfecto, enhorabuena a los dos. Crackme1 solucionado.

Si quieres que no salte, puedes nopear el salto y eso lo puedes hacer muy sencillo seleccionando la instrucción del salto (JE SHORT Crackme1.000401F1F) y pulsando botón derecho --> Binary --> fill with NOP's, y así de este modo (igual vale con CMP EAX, EAX, pero yo prefiero poner NOP's) nunca saltará.

Muy bien, a por el crackme2 que es un poco más complejo.
En línea

- "Tu sitio para aprender, enseñar y compartir"
Vingilot

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: crackme 1 y 2
« Respuesta #11 en: 24 Diciembre 2007, 15:53 »

Muchas Gracias sempus y karmany, he probado las 3 soluciones y todas funcionan, pero era esa de fill with NOP's era la que buscaba.

Pd: sempus gracias a la explicación de guardar, que parecía obvia pero con la que ya puedo guardar las soluciones ^^.

Un saludo a todos.
En línea
sempus
Dakishimetai no ni...
Colaborador
***
Desconectado Desconectado

Mensajes: 2.326


GJDAM 愛している


Ver Perfil
Re: crackme 1 y 2
« Respuesta #12 en: 24 Diciembre 2007, 22:36 »

Muy bien, a por el crackme2 que es un poco más complejo.
Reto finalizado, ¡Felicidades!  ;D
Esta curioso, lastimosamente solo con cambiar je con jnz lo consegui,aca no vi ningun strcmp o vi mal??
En línea

...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE
Vingilot

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: crackme 1 y 2
« Respuesta #13 en: 25 Diciembre 2007, 19:19 »

^^ Al fin consegui averiguar que saltos tenia que dar y cuales no.

Como pedían un pequeño tutorial pondré abajo que pasos dí, seguramente mejorables y quizás algún error, lo pongo con la intención de que me señalen los errores y de ayudar a los muy newbies que como yo los hay ^^:
.
.
.
.
.
.
.
.
.
.
.
.
.
.Solución:

Comence leyendo las obras de Ricardo Narvaja y como tal pongo el camino del "Chico Malo", es decir cuando no acertamos con la clave:


Chico Malo:

Del código estos son los saltos que recorre:

00402286      3BC7          CMP EAX,EDI

00402288   . /7D 12         JGE SHORT Crackme2.0040229C

EAX y EDI son iguales. 

Jump if Equal or Greater, Toma el salto.




004022CD   .  A8 0D         TEST AL,0D

004022CF   . /0F85 28020000 JNZ Crackme2.004024FD   


Jump if Not Equal, no lo salta.




00402355   .  3BC7          CMP EAX,EDI

00402357   . /7D 12         JGE SHORT Crackme2.0040236B salta

Jump if Equal or Greater

son iguales toma el salto.





004023A7   .  66:3BF7       CMP SI,DI

004023C8   . /74 58         JE SHORT Crackme2.00402422   

Jump if Equal, salta.

Este Salto es la clave. Al desensamblar vemos que si salta pasa de la instrucción
"Reto finalizado", y llegas hasta el mensaje de Fallo.("Bien es dicho que...Try Again").



0040245D   .  FF15 F8404000 CALL DWORD PTR DS:[<&MSVBVM50.#595>]                    ;  MSVBVM50.rtcMsgBox

Llama al Mensaje de ERROR.



Con este cambio ya vale:

004023A7   .  66:3BF7       CMP SI,DI

004023C8   . /74 58         JE SHORT Crackme2.00402422   

Eliminamos el posible salto con Fill Nop's

Si quieres que no salte, puedes nopear el salto y eso lo puedes hacer muy sencillo seleccionando la instrucción del salto (JE SHORT Crackme1.000401F1F) y pulsando botón derecho --> Binary --> fill with NOP's

Así núnca saltará como me dijo karmany.


Gracias a karmany, sempus, y ShadowDark.
En línea
Shaddy
Moderador
***
Desconectado Desconectado

Mensajes: 712


one_bit_manipulator()


Ver Perfil WWW
Re: crackme 1 y 2
« Respuesta #14 en: 27 Diciembre 2007, 02:23 »

¿yo?, ¿gracias?, jeje, no dije nada ^^.

Aun así agradecido :). Me alegro de que lo solucionaras.

FELICIDADES.

Salu2..
En línea

"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
CrackMe v3.0 « 1 2 »
Ingeniería Inversa
Keyen Night 21 3,897 Último mensaje 27 Enero 2011, 06:22
por 43H4FH44H45H4CH49H56H45H
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines