VProtector v1.0E_10_by_+NCR
- 格式:pdf
- 大小:518.17 KB
- 文档页数:18
VPRotector v1.0E – by +NCR/CRC! [ReVeRsEr] reversing_ar@yahoo.com.ar http://www.iespana.es/OllyDbg 1[reversing_ar@yahoo.com.ar] Programa Vprotector v1.0E
Download www.crackslatinos.hispadominio.net Descripción Ejecutable Win32 empakado Herramientas OllyDbg 1.10 - ImportReconstructor Dificultad Newbie (creo que un poco más, jejeje). Compresor/Compilador Ya sabremos cuando este desempakado, jeje Protección Vprotector, se puede pedir algo más? ☺. Objetivos Desempakar Cracker +NCR Fecha: 10/05/05 Tutorial nº 124
• Introducción Buenas nuevas!!!. Una vez más con otro tut dedicado a VProtector. Este packer chino que me tiene más que asombrado, de los mejores que he visto y sin duda un hueso duro de roer.
En esta ocasión debo de saludar a un amigo que siempre me seba unos mates mientras escribo los tut’s o estudiamos con los amigos. Es un entendido en el tema de hardware. Es alguien a quien saludaba en los primeros tut’s que hacía, se trata del amigo peru85, así que para él va dedicado esta nueva parte del tut de VProtector.
SALUDOS PINKY (PERU85@HOTMAIL.COM)!!!. • Comencemos
En la parte anterior logramos que el VP corra vajo Olly. Habíamos dejado al proceso 3 corriendo pero habíamos cerrado sus salidas. Luego, en el proceso 4 habíamos eliminado el primer thread, el segundo lo estabamos estudiando y nos queda el tercero y el 4. Luego, suspendiendo todos los thread menos el segundo logramos que corra nuestro VP pues las deteciones y antidbgs están en los threads restantes y al estar suspendidos pues no funcionan, jeje. Igualmente no habíamos podido parar en el OEP (o casi, no me di cuenta de un pequeño detalle, jeje) pero ya veremos que estabamos por buen camino. En esta parte vamos a estudiar el tercer therad que es muy simple y solo realiza el trabajo de detectar al Olly entro los procesos activos y leer un par de bytes de algunos de estos procesos para compararlos con una lista de “bytes negros” que tiene el VP. VPRotector v1.0E – by +NCR/CRC! [ReVeRsEr] reversing_ar@yahoo.com.ar http://www.iespana.es/OllyDbg 2Vayamos hasta la creación del segundo tread:
Colocamos un BPX en el inicio del thread: Y un BPX a la salida de la llamada a CreateThread: Le damos a F9 (Run) y el programa para en el segundo BPX: Traceamos hasta la llamada a Sleep: Y al pasarla con F8 paramos en el inicio del segundo thread: VPRotector v1.0E – by +NCR/CRC! [ReVeRsEr]
reversing_ar@yahoo.com.ar http://www.iespana.es/OllyDbg 3Por las dudas aviso que todavía tenemos al proceso 3 parado en uno de los BPX’s. (solo por si hay algún despistado como yo, jejeje).
Ahora ponemos al thread dos a hacer un TRACE INTO con Ctrl+F11 hasta que rompe en la creación del tercer thread:
Vemos que este nuevo thread comienza en 0C569EB, así que vayamos a esa dirección y coloquemos un BPX:
Y además un BPX en el retorno de este CALL a CreateThread como hicimos antes: Doy F9 (Run) y se detiene en este último BPX: Comencemos a tracear con F7 y llegamos a esta parte: VPRotector v1.0E – by +NCR/CRC! [ReVeRsEr]
reversing_ar@yahoo.com.ar http://www.iespana.es/OllyDbg 4 Como hay bastante código y no quiero tracear sino estudiar el próximo thread pues pulso F9 (Run) y listo. Primero vuelve al main thread:
Le doy a F9 (Run) otra vez y se detiene en un BPX que tenía colocado en un salto condicional de los que vimos en tut’s anteriores pero luego de dos o tres F9 más finalmente se detiene en el inicio del nuevo thread:
Comencemos a tracear a ver que hace. VPRotector v1.0E – by +NCR/CRC! [ReVeRsEr]
reversing_ar@yahoo.com.ar http://www.iespana.es/OllyDbg 5 Llama a CreateToolhelp32Snapshot. Esta es una api muy conocida hoy en día y se utiliza para crear una instantánea de los procesos que se encuentran corriendo en el sistema.
Sigamos y veremos que ahora viene Process32First:
Se dispone a tomar el primero de los procesos que se iniciaron. Con PUPE lo podemos ver muy claramente:
Veamos los parámetros de la función:
Vemos que el informe del proceso irá a parar a 0C57385: A la salida del CALL tenemos toda la info del primer proceso: VPRotector v1.0E – by +NCR/CRC! [ReVeRsEr]
reversing_ar@yahoo.com.ar http://www.iespana.es/OllyDbg 6 Sigamos con F7 y llegamos a una nueva llamada: Vemos que llega a OpenProcess. Lo hace para tener un handle con que trabajar, si es que el proceso está activo.
En mi caso devuelve EAX == 0 porque se trata de un proceso del sistema y como sabemos no podemos trabajar sobre ellos (o al menos eso pensamos, jeje).