Descompresion Manual

Bueno, aca estamos de nuevo. Antes que nada un saludo a todos los crackers hispanos, a karpoff por postear mis tuts y por su ayuda en general ;-) y tambien a torn@do por sus apuntes sobre descompresion manual.

Ok, empecemos, el programa victima en este caso es el ACDseev3.0 que lo podes bajar de www.acdsystems.com. Una vez bajado e instalado hacemos una copia del programa con el nombre de copia de acdsee.exe; sabemos que el programa es un shareware de 30 dias y no hay opcion de registrarnos.
A primera vista me parece que esta comprimido el programa por sus escasos 640kb para un download de 4 y un poco mas de Mb.
Como primer punto de ataque vamos a adelantar unos 35 dias para que pasa, y como es logico nos aparece una ventana diciendonos que termino el trial y que si queremos podemos comprarlo o desinstalarlo de nuestra PC , tambien nos da una opcion a que nos extiendan el trial.
Vamos a tratar de desensamblarlo con el w32dsm........mmm...deja colgado el wdsm... ahora tratemos con el procdump, lo abrimos y le damos al boton PE Editor y abrimos la copia de acdsee.exe y le damos en Sections y nos muestra esto:



Vemos una seccion llamada .aspack, por lo tanto esta comprimido con el aspack, ahora que sabemos que compresor usa el programa podemos descomprimirlo con el procdump, para esto le damos cancelar y cancelar y despues en Unpack.
Ahora tenemos que elejir el unpacker, pero hay 4 distintos con el nombre de aspack...¿cual elejimos?.. pues no se jeje.. solo hay que probar con todos hasta encontrar el correcto.
Bueno despues de probar con todos y hasta con "unknown" y standard ninguno funciona...mmmm que pasa!!!!.... que se yo a lo mejor una nueva version del aspack o algun truco antidesempacador, la unica solucion parece ser una descompresion manual. A partir de ahora voy a señalar los detalles que segui para descomprimirlo, pero en realidad yo utilice primero el softice para "correjir" el limite de 30 dias y lo logre solo que obviamente al estar comprimido no pude obtener un offset valido para parchearlo asi que tuve hacer todo el proceso de descompresion igualmente, por lo tanto voy a explicar ese proceso primero y despues el otro que es ya como cualquier otro crack de cualquier trial.
Informacion sobre descompresion manual podes encontrar en www.immortaldescendants.com mayoritariamente en ingles.
OK, empecemos con esto; abrimos el softice con el symbol loader esto no es lo mismo que el tipico control-d y poner un bpx, sino que desde la barra de tareas de windows, en inicio, programas, y numega softice elejimos el symbol loader:



Le damos en file/ open module... y elejimos copia de acdsee.exe, despues le damos en module/ load; al darle load a mi me suele generar un error y me pregunta si quiere que lo cargue igual, simplemente le digo si, no se a que se debera el error pero me pasa siempre que ya no le doy importancia. En este caso nos abre la aplicacion pero no paro en el entrypoint (en la barra de tareas del loader hay un icono de un foquito y debe estar presionado)...mmmm, para que esto no suceda es decir, es decir nos pare el softice debemos irnos de vuelta al procdump y al PE Editor, elejimos nuestro programa o sea copia de acdsee.exe para no tocar el original y le damos click en Secctions:




Ahora nos posicionamos sobre .text y con el boton derecho del mouse hacemos click y le damos a edit section:



y en section characteristics cambiamos C0000040 por E0000020 le damos todo ok y listo, ahora debe parar el softice.
cargamos de nuevo el symbol loader, nuestro programa y le damos mudule/ load, y ahora si rompe el softice.
Vemos que en una de las ventanas del softice dice el nombre de nuestro programa, y al lado .aspack o sea que estamos en el comienzo de la rutina de descompresion, pues como sabran un programa comprimido se debe descomprimir en memoria para ejecutarse, ahora la cuestion es darle F10 hasta que haya algun Ret que nos lleve a la parte .text, recordando que cada vez que encontremos un salto; sea condicional o no; siempre que el salto sea hacia arriba, poner un breakpoint una instruccion por debajo de ese salto y despues darle F5, para para evitar los loop, o sino estariamos dias!!!!..,una vez que nos para el softice continuar normalmente con F10 y siempre que suceda lo anterior hacer el mismo proceso.
En la instruccion 005554c7 push 004a33bf esta la clave pues pone en la pila el entrypoint al programa descomprimido, asi que anota ese numero ; abajo de esta instruccion hay un Ret,y como sabemos que es el retorno al .text???, pues yo lo hice asi, cada vez que encontraba un ret ponia un bpx ya sea sobre el ret o sobre alguna instruccion cercana, asi si me lleva al .text ya tenia un bpx para volver al lugar y si no era todavia simplemente quitaba el bpx y seguia.Esto es ncesario pues cuando estamos posicionados sobre un ret que sabemos nos llevara al .text (por si surge alguna duda aclaro que el .text seria el programa normal ya que antes estabamos en el .aspack) debemos poner en el softice la instruccion: a eip, y despues jmp eip; esto para crear un loop infinito y dejarlo en memoria, una vez hecho esto le damos F5 para salir del softice y volvemos al procdump. Esta vez buscamos en la parte que dice Task nuestro programa y despues sobre el hacemos click con el boton derecho del mouse y le damos dump (full), y guardamos este con un nombre diferente para ver la diferencia.
Ahora nos podemos fijar que el programa dumpeado es mucho mayor que el original.Ahora para poder usarlo buscamos otra vez en el procdump en la parte de Task nuestro programa y otra vez con el boton derecho, solo que esta vez le damos kill task. Muy bien, ahora solo nos resta arreglar el entry point para que funcione ,en el procdump le damos PE editor,elejimos el programa que acabamos de dumpear y donde dice entry point cambiamos el valor que esta por este otro:000a33bf (este valor se consigue restando el valor de 004a33bf de 00400000), ahora debera funcionar normalmente el programa dumpeado.
Ahora se puede aplicar cualquier metodo para crackearlo, lo podes desensamblar etc, y una vez parchado , hacer un loader para usarlo con el programa original que es aprox. 60% mas pequeño.

Tut by D.A

Todos tus cracks estan en

Tutorial Descargado de Karpoff Spanis Tutor

 

www.000webhost.com