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
(http://s1.subirimagenes.com/imagenes/previo/thump_15375152007-10-17_185806.png)
Crackme 2
(http://s1.subirimagenes.com/imagenes/previo/thump_15375172007-10-17_185748.png)
Bajar Pack Crackme 1 y 2
http://rapidshare.com/files/63294313/crackme1y2.rar (http://rapidshare.com/files/63294313/crackme1y2.rar)
1ero resuelto
Contraseña por privado
Editado: Mañana miro el segundo
Suerte
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".
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
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.
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
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
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
(http://photos1.hi5.com/0017/624/461/zL5zCa624461-02.jpg)
si me equivoco por favor hacermelo saber
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.
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.
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.
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.
Cita de: karmany en 24 Diciembre 2007, 15:45 PM
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??
^^ 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
Cita de: karmany en 24 Diciembre 2007, 15:45 PM
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.
¿yo?, ¿gracias?, jeje, no dije nada ^^.
Aun así agradecido :). Me alegro de que lo solucionaras.
FELICIDADES.
Salu2..
Solucion para el Crakme 1 y 2:
Solucion del Crackme 1:http://rapidshare.com/files/100261929/Soluci_n_al_Crackme_1_By_R6ID.doc.html (http://rapidshare.com/files/100261929/Soluci_n_al_Crackme_1_By_R6ID.doc.html)
Solucion del Crackme2: http://rapidshare.com/files/100271424/Soluci_n_al_Crackme_2_By_R6ID.doc.html (http://rapidshare.com/files/100271424/Soluci_n_al_Crackme_2_By_R6ID.doc.html)
No me preocupado nada de ver que esta haciendo el programa ya que no deseo crear un keygen simplemente voy a buscar una clave valida para poder registrame.
Saludos de R6ID
¿Alguien que pueda subir estos crackmes o donde encontrarlos?
Los enlaces no funcionan.
Gracias.
Cita de: kurt28 en 22 Septiembre 2012, 17:41 PM
¿Alguien que pueda subir estos crackmes o donde encontrarlos?
Los enlaces no funcionan.
Gracias.
Tal vez yo los tenga, luego lo miro en mis backups.
Bueno, pues sí que los guardé... No guardo todos, pero tengo unos cuantos.
Los puedes descargar desde aquí:
https://docs.google.com/open?id=0B6IQFCPJ5JHpcENDWGJaaHpRNlk (https://docs.google.com/open?id=0B6IQFCPJ5JHpcENDWGJaaHpRNlk)
Allí, pulsa: Archivo ⇒ Descargar.
Contraseña: karmany
Pide la librería de VB5, que Windows 7 no tiene por defecto.
Gracias karmany. Tengo que practicar con Visual Basic.