crackme 1 y 2

Iniciado por tazzmk, 18 Octubre 2007, 00:02 AM

0 Miembros y 1 Visitante están viendo este tema.

tazzmk

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

yardbird_miguel

#1
1ero resuelto

Contraseña por privado

Editado: Mañana miro el segundo

Suerte
...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

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".

karmany

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

Vingilot

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.

karmany

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

karmany

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

sempus

Cita de: Vingilot en 23 Diciembre 2007, 13:50 PM
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
...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE

Vingilot

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.

sempus

Cita de: Vingilot en 24 Diciembre 2007, 11:03 AM

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.

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