Karpoff Spanish Tutor 1999-2002

Programa:

Mail Direct 1.4


 

PROTECCION:  [ Shareware
Objetivo:
  1. Enpaquetado con aspack
  2. Número de Serie
Descripcion:  
Dificultad: 3
DOWNLOAD: http://www.ocloudsoft.com
Herramientas: REGMonitor, SoftIce, W32DASM, PROCDump
CRACKER:
[Moneo]
  FECHA: 09/10/2002

 

 INTRODUCCION

 

Disclaimer

Si estas buscando cracks o serials, aqui no los vas a encontrar. Todo lo que aquí se describe es puramente didactico, lo que el usuario final realice con dicha información sólo le acontece a él. Te recomiendo que si tienes la oportunidad adquieras el programa de forma legal, ya que de esta manera contribuyes a que el programa continue desarrollandose.

El autor sólo pretende ensenyar los diferentes métodos de protección que tienen los programa, no abusando de dicha información

Overview

    Mail Direct is a program that will allow you bypass your ISP's mail server and use your computer to send e-mails directly to recipients. The program can do this because it has a built-in SMTP server which you can use instead of your ISP's mail server. All you have to do is set up your e-mail client to use "localhost" as your outgoing mail server and run Mail Direct. The program will then deliver any e-mail that you send out through it, and it will terminate delivery of messages that you have sent out to wrong or bad e-mail addresses.

 

 AL ATAKE

Protecciones.

    1. Enpaquetado con aspack
    2. Número de Serie

Enpaquetado.

    Nos encontramos ante un programa empaquetado y esto lo podremos deducir por diferentes razones. La mas sencilla es de sentido común, si el programa no está hecho en VB o ASM el programa debe ocupar más de 700 KB cuando realmente está ocupando 312 KB. Si cogemos el W32DASM y lo desensamblamos veremos como se nos queda colgado, esta es otra pista que nos indica que estamos ante un empaquetado y por ultimo, ejecutamo el PE-Editor y vemos cuantas secciones tiene, hay una que nos dice que se llama .aspack, bueno más no nos puede decir.

    Para descomprimirlo tenemos dos opciones, la primera es utilizar en unpacker correspondiente a su versión (sabes que version es?), para ello utilizaremos el Un-PACK para que nos diga de que se trata realmente

    Como la todo no es tan fácil, hay que descomprimirlo a mano. Para ello utilizaremos el PE-Editor, y le cambiaremos la sección del .aspack por algo ejecutable, es decir de C0000040 a E0000020 (ver tutoriales de PE para mayor información), con lo que conseguimos que el W32DASM no se cuelgue, y de paso podemos ver como comienza el empaquetado:
    60
    E93D040000
    D557
    PUSHAD
    JMP 004F8444
    AAD (BASE=87)

    Estas primera lineas son típicas de programas empaquetados, ahora lo que debemos buscar es una sección que diga algo por este estilo:


    POPAD
    PUSH xxxxxx
    RET

    Donde las xxxxxx será la verdadera entrada de programa una vez desempaquetado. Pululad vosotros mismos hasta encontrar estas sentencias, una vez que sabemos el valor de xxxxxx = 4A5CBC, hacemos un pequenyo truco, modificamos la sentencia del SoftIce para que el RET sea un JMP a si mismo, de esta forma dejamos el programa enbuclado hasta que nosotros queramos, utilizad las sentencias:

    a
    jmp eip

    Y dejamos que el programa se ejecute con un go. Seguidamente ejecutamos el PROCDump y buscamos la tarea del Mail Direct, para hacerle un FullDump, de esta forma conseguirems obtener todo el programa descomprimido. Pero aun no hemos acabado, ya que hemos de editar las sección, primero hay que indicarle cual será el nuevo EOP (Entry Of Program) y este lo obtendemos restando 4A5CBC - 400000 = A5CBC. Seguidamente indicaremos en las secciones, que la CODE es ejecutable y será un E0000020 en vez de un C0000040.

    Si todo lo hemos hecho correctamente, ejecutando el programa del FullDump deberá funcionar correctamente, en caso contrario algo hemos hecho mal.

    Bueno, ahora sólo queda restaurar el programa que tenemos en bucle infinito, devolver el ret que le hemos robado, simplemente activando el debugger.

30 Day Trial

    El programa nos grita que sólo lo podemos probar durante 30 dias, pero como casi siempre, un programa no se puede probrar en tan poco tiempo, por ello es necesario hacer que su vida sea más larga.

    Como estamos hablando de días, lo lógico es pensar que capture la fecha del sistema y la compara con alguna otra fecha que tenga grabada en otro lado. Normalmente ese otro lado es el basuro de registros del windoze. Probamos suerte activando el REGMonitor y filtramos por el nombre del ejecutable a ver que es lo que sale.

    Nos salen registros standard de windoze, luego nos sale registros del HKCU, con directorio en Software/OCloud/MailDirect esto tiene toda la pinta de ser donde guarda toda la configuración y posiblemente donde guarda la fecha. Pero el REGMonitor nos depara otra sorpresa, si miramos más abajo, vemos que lee cierta información en HKCU con directorio en Software/CLASSES/CLSID/{*}, donde el * es una serie de caracteres, esto es muy sopechoso. Vamos a ver que pasa si adelantamos el reloj y monitorizamos ese registro.

    Al adelantar el reloj, a la entrada no le pasa nada, entonces lo siguiente que se me ocurre es borrar esta entrada y volver a ejecutar el reloj. Efectivamente, al borrar dicha entrada el programa vuelve a estar en día de instalación 1.

    También podemos utilizar el Soft-Ice para detectar la comparación de la fecha, para ello vamos a utilizar un bpx GetLocalTime y vamos a ver que es lo que pasa. Activamos el break-point y nos para en CS:4094C4D, si queremos podemos observar que es lo que pasa, pero siguiendo la lógica esto debe de estar metido dentro de una subrutina por lo tanto vamos a pular F12 (p ret) para ver donde nos lleva: CS:4A567C.

    8D8560FFFFFF
    E8C70AFEFF
    FF75EC
    FF75E8
    E8C445F6FF
    83C4FPadX¹d

     

    Karpoff Spanish Tutor: Pagina dedicada a la divulgacion de informacion en Castellano, sobre Ingenieria Inversa y Programacion. Email "Colabora con tus Proyectos"
    www.000webhost.com