Dede

Solo disponible en BuenasTareas
  • Páginas : 7 (1638 palabras )
  • Descarga(s) : 9
  • Publicado : 19 de agosto de 2010
Leer documento completo
Vista previa del texto
DESEMPACANDO ARMADILLO 4.30
by Tena
Bueno gente hace mucho que no escribo nada asi que me baje algo de google y o casualidad siempre me tocan estos a mi jeje, un Armadillo 4.30 con Debug-Blocker..

No es nada del otro mundo es mas de lo mismo, pero tenia ganas de escribir asi que me tome de este para hacerlo. No se agregara nada nuevo en este caso, asi que los mas expertos solo pueden darleuna hojeada para criticarme, eso si cosas buenas jeje [pic]

Bueno como dije mi victima esta empacada con Armadillo, pero como sabemos que es eso cierto? a los mas nuevos les dire que hay detectores que te dicen con que esta empacado y compilado un archivo ejecutable.

Yo usare el RDG Packer Detector y lo puedes descargar de aqui:http://www.egrupos.net/grupo/rdgsoft/ficheros/3/verFichero/29/RDG%20Packer%20Detector%20v0.6.6%202k8.rar

Si vemos que nos dice de nuestro amigo veremos esto:

[pic]

Vemos que en modo B nos da la version exacta del armadillo, y esta compilado en Visual C++. Pues ahora que sabemos de que se trata tenemos que ver con que regalitos viene este armadillo. Sin mas usare el ArmaFP que es un detector especificamente para armadillo y nos dara mucha info sobreeste packer.

[pic]

Bien vemos que tiene Debug-Blocker, osea correra en dos procesos, y la version es 4.30 como nos dijo el rdg.

Listo el pollo, abramoslo en el Ollydbg, yo usare el de mi amigo Shady, OllyShadow.

Aqui tenes todos los links de descarga de las herramientas que usare:

http://foro.elhacker.net/ingenieria_inversa/herramientas-t183012.0.html

[pic]

Aclaro quesolamente usare el plugin de ollyAdvanced, pero por ahora tendremos desactivados todas las opciones que nos ofrece para esconder al olly.

Si lo ponemos a correr con F9 nos detectara y nos mostrara el siguiente mensaje..

[pic]

Asi que bueno reiniciemos el olly y cambiemos el segundo byte del PEB (Process Environment Block) el cual es seteado a 1 por el sistema cuando el proceso es debugueado,este flag es comprobado por la api IsDebuggerPresent.

Al iniciar el ollydbg siempre en ebx nos queda apuntando al PEB, asi que para ver el flag BeingDebugged solo basta con ir a ebx+2.

En la ventana del dump hacemos lo siguiente
[pic]

aceptamos y vemos que el byte esta en 1

[pic]

lo cambiamos por cero

[pic]

Ejecutamos con F9 y vemos que no nos detecta, pues sale corriendo elprograma.
Bueno ahora para no tener que poner siempre a cero ese byte usare el plugin OllyAdvanced y tildamos la opcion de IsdebuggerPresent.

[pic]

En este momento si no hemos reiniciado al olly podemos ver los dos procesos corriendo.

[pic]

Lo que vamos hacer ahora es lograr que el programa corra en un solo proceso asi podremos dumpearlo. Asi que reiniciemos el olly y pongamos un Bp enla api OpenMutexA.

[pic]

con F2 ponemos el bp..

[pic]

Damos DOS veces run con F9 y luego Ctrl+F9 para ir al ret de la api.

[pic]

Para lograr que corra en un solo proceso debemos cambiar el registro eax a 1.

Eliminamos el bp a OpenMutexA para que no caiga mas ahi, y ponemos un nuevo bp en la api CreateThread.

Ctrl+g 
[pic]

y ponemos el bp con F2
[pic]

damos con F9 ycaemos en el bp, hacemos Ctrl+F9 para ir al ret, otra vez mas Ctrl+F9, F7 para pasar el ret, y desde aqui bajamos un poco por el codigo, sin ejecutar nada, hasta encontrar el segundo Call Registro.

[pic]

ponemos un bp en el Call Registro y damos run, caera ahi, entramos al call con F7 y estamos en el OEP.

[pic]

Bien nuestro oep es 46DA0B, debemos ver como nos dejo la IAT, para ello nosposicionamos sobre el primer call indirecto y hacemos Follow in Dump Memory Address con el boton secundario del mouse, en la ventana del dump podemos apreciar esto..

[pic]

umm esta fiero asi jeje, mejores la visual, pongamoslo en Long->Address

[pic]

Ahi esta, vemos que hay valores malos el cual debemos arreglar, pero antes ya que estamos aqui veamos el inicio de la iat, asi que...
tracking img