Bienvenido a Tecnohackers

Tecnohackers » General del foro » Ingenieria Inversa
 » 

Tutorial Resolviendo crackme de Ithen



Autor Tema: Tutorial Resolviendo crackme de Ithen  (Leído 319 veces)

Desconectado CronuX

  • Veterano
  • ***
  • Mensajes: 309
  • OllyDBG
Tutorial Resolviendo crackme de Ithen
« en: Septiembre 28, 2010, 02:17:23 am »
Esta vez es una pequeña explicacion de como resolvi el crackme hecho por Itehm en delphi, curioso e interesante y pues cualquier duda o critica o comentario no duden en hacerlo...

Primero abrimos con el RDG Packer Detector para ver el lenguaje de programacion y vemos un delphi...


Ejecutamos y vemos que podemos ingresar varios numeros y ningun boton de comparar ni nada a lo que suponemos en algun timer o change debe estar la comparacion...


Aprovecharemos y utilizaremos una gran herramienta para desensamblar programas en delphi como el DEDE y poder observar con mas detalle direcciones de eventos y que pueden contener cada uno...


Observamos que cada boton es el de un numero y podemos observar su direccion donde inicia el evento...


En el OllyDBG vamos a observar la rutina del evento change del edit donde son tomados los numeros, a grandes rasgos no nos entraremos a mirarla bien pues el que quiera puede tracearla o estudiarla con mas detalle aunque a decir verdad no hay mucho que mirar, solo se ve que compara 2 veces la longitud del serial una es 10 pero como acepta 9 no nos sirve y otra de 7 que es la que nos sirve a nosotros...


Al pasar la comparacion de la longitud podemos ver que compara una variable con la constante 0xBB543 "curioso" y nos envia afuera de la rutina...


Otra vez con el DEDE y observando los eventos click de cada boton podemos observar que cada uno a aparte de poner el numero en el edit hace una funcion especial y "secreta"... por ejemplo el 1 suma a la variable anteriormente mencionada el valor de 0x1B6B8


El numero 5 suma el valor de 0x9FBF1


Y el numero 7 suma el valor de 0x29A


Que al ser sumados...
0x1B6B8 + 0x9FBF1 + 0x29A = 0xBB543

es decir cumplimos con la condicion, pero tambien observando los numeros pares no suman a la variable si no que concatenan una string y que despues va a ser comparada...

Numero 6


Numero 8


Numero 0


Ya con esto podemos concluir que los 6 primeros digitos del serial ingresado deben contener los numeros "1 - 5 - 7 - 6 - 8 - 0", teniendo en cuenta que los impares en cualquier orden y en cualquier posicion de ingreso, y los pares en cualquier posicion de ingreso pero manteniendo el orden para que la string pueda concatenarse de manera optima asi, 6 - 8 - 0... y despues de ingresar estos seis digitos solo nos queda cumplir la condicion de los 7 digitos entonces damos click en cualquier otro numero y  obtendremos como resultado satisfactorio el mensaje de good...


Descarga Crackme
No puedes ver links Registrate o Login

Y con esto llegamos al fin, un saludo a todos
CronuX



Tags:

 

Related Topics

  Asunto / Iniciado por Respuestas Último mensaje
3 Respuestas
580 Vistas
Último mensaje Septiembre 20, 2009, 02:19:54 pm
por char
0 Respuestas
160 Vistas
Último mensaje Mayo 15, 2010, 06:13:11 pm
por CronuX
0 Respuestas
182 Vistas
Último mensaje Mayo 23, 2010, 01:09:50 pm
por CronuX
0 Respuestas
222 Vistas
Último mensaje Junio 28, 2010, 01:38:36 pm
por CronuX


SMF 2.0.2 | SMF © 2011, Simple Machines
Paginas Afiliadas
InfraBios - i-hacker - Twitter - FaceBook - Troyanosyvirus - LaWebDeGoku - daraxblog
Designed by Smf Personal