elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
06 Julio 2008, 01:34  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ingeniería Inversa (Moderadores: ShadowDark, karmany)
| | | |-+  Una ayuda que esto atascado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Imprimir
Autor Tema: Una ayuda que esto atascado  (Leído 528 veces)
mikello
*
Desconectado Desconectado

Mensajes: 4


¡Amo YaBB SE!


Ver Perfil
Re: Una ayuda que esto atascado
« Respuesta #15 en: 10 Mayo 2008, 01:28 »

Hola!

La explicación de por qué el parche es el que proponía solidcls es el siguiente:

· Ejecutamos el programa en OllyDbg. Cuando sale el MessageBox, pausamos y ejecutamos hasta que se produzca la vuelta al código cliente (Alt+F9). Al pulsar sobre el botón de aceptar, paramos en 46091F. Subiendo un poco vemos que desde 460910 está la llamada a MessageBoxA, y si bajamos desde 46091F vemos que no hay ningún salto que permita "puentear" la llamada a la API, por lo que esa función entera es llamada en caso de no estar registrado.

· Entonces, pulsamos Ctrl+F9 y con F7, salimos a la función que llamó al procedimiento que mostraba el MessageBox (460834...460988). Caemos en una zona que el programa utiliza para restablecer EBX, ESI y EDI de manera genérica así que seguimos hasta el RET.

· Este RET nos lleva a 4B851A. Si nos fijamos, la línea siguiente en la que caemos es apuntada por un salto. Dicho salto está en 4B8500 y éste sí que permite evitar llamar al MessageBox:

Código:
004B84F9  |.  E8 A6DDFFFF   CALL jpgserve.004B62A4
004B84FE  |.  84C0          TEST AL,AL
004B8500  |.  75 1A         JNZ SHORT jpgserve.004B851C
004B8502  |.  6A 00         PUSH 0
004B8504  |.  B9 58874B00   MOV ECX,jpgserve.004B8758                ;  ASCII "Unregistered Version"
004B8509  |.  BA 70874B00   MOV EDX,jpgserve.004B8770                ;  ASCII "You are running an ..."
004B850E  |.  A1 B4214C00   MOV EAX,DWORD PTR DS:[4C21B4]
004B8513  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
004B8515  |.  E8 1A83FAFF   CALL jpgserve.00460834
004B851A  |.  EB 38         JMP SHORT jpgserve.004B8554
004B851C  |>  8D55 84       LEA EDX,DWORD PTR SS:[EBP-7C]

· He copiado toda esa zona, para que observes que primero se llama a 4B62A4, y después se comprueba si devolvió diferente de cero, en cuyo caso salta el código que muestra el MessageBox. Nos introducimos entonces en la función 4B62A4, y tenemos:

Código:
004B62A4  /$  E8 FB010000   CALL jpgserve.004B64A4
004B62A9  \.  C3            RETN

de manera que volvemos a introducirnos en 4B64A4, y estaremos en la rutina que comprueba si el programa está registrado. Ensamblamos lo comentado anteriormene, y todo irá de perlas...

Saludos, mikello
En línea
rave
**
Desconectado Desconectado

Mensajes: 93


Ver Perfil
Re: Una ayuda que esto atascado
« Respuesta #16 en: 12 Mayo 2008, 15:35 »

Muchas gracias, me queda muy claro. Ahora me pondré con unos crackme antes de seguir con aplicaciones.
En línea

Pcmcia ZCom XI-325 - Gigabyte gn-wbkgv (ralink rtl 2570) - Thomson speed touch 121g (Prism GT) - Pheenet WLU-803G - Alfa AWUS036H - Dipolo5, 7dB - 2x Panel 7dB - Panel 19dB (Pacific Wireless) - 5x fonera
Páginas: 1 [2] Ir Arriba Imprimir 
Ir a:  








Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC