elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Desempaquetando UPX manualmente.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Desempaquetando UPX manualmente.  (Leído 4,503 veces)
Nanocity

Desconectado Desconectado

Mensajes: 124


Ver Perfil
Desempaquetando UPX manualmente.
« en: 3 Junio 2010, 16:35 pm »

Buenas, he retomado esto de la ingeniería inversa que tenia un poco olvidada así que decidí empezar por un crackme posteado aquí hace poco.

El caso es que está empaquetado con UPX, según el RDG, UPX 1.95 Beta - 2.00W.
Total que como quería investigar un poco busqué tutos para desempaquetarlo de forma manual y di con bastantes que explicaban como hacerlo: encontrar el PUSHAD, luego el POPAD y luego el salto incondicional para llegar al EOP...

Hasta ahí vamos bien, el problema que tengo es que a mi, ese salto (el que esta justo después del POPAD y que me lleva muchos bytes atrás) no me deja en un PUSH EBP como he leído que es habitual sino que me manda a otro salto.

POPAD:


Instrucción en la que cae el salto posterior al POPAD:


Lo raro, además es que en el momento que muevo el cursor o hago cualquier cosa, la instrucción de arriba cambia a esto:


No sé estoy bastante perdido, he intentado seguir lo que explican los tutoriales usando como EOP el del salto, osea 401320 pero no hay manera de que el ejecutable funcione una vez dumpeado y reconstruida la tabla de importaciones.

Algo debo de estar haciendo mal, a ver si podéis decirme qué porque de momento mis conocimientos no me permiten intentar cosas diferentes o buscarme la vida por otro lado.

P.D.: Esto a lo mejor iba en el post del crackme, que es este, pero era por no revivir un post tan antigüo.

Un saludo.
En línea

Eran nueve, nueve bajo las tres lunas,
bajo la luz del atardecer de otoño.
Mientras el mundo caía, ellos se alzaban
hacia el corazon de la historia
LSL

Desconectado Desconectado

Mensajes: 239

Cls


Ver Perfil
Re: Desempaquetando UPX manualmente.
« Respuesta #1 en: 4 Junio 2010, 00:26 am »

El OEP lo has encontrado bien, es el 401320, el problema que debes tener es a la hora de hacer el dump y el arreglo de la IAT, te pongo unas imagenes para que pruebes.






esperas hasta que te salgan las funciones importadas en la busqueda



Como le hemos dicho toda una sección de busqueda, encontrara muchas funciones importadas erroneas, pulsas en Show solo las invalidas, click derecho sobre ellas, y Borrarlas todas.

ya solo tienes las funciones importadas buenas, que salvas (Fix Dump) sobre el archivo previamente dumpeado.

Saludos.
En línea

Saludos.

LSL.
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Desempaquetando UPX manualmente.
« Respuesta #2 en: 4 Junio 2010, 00:39 am »

Para gente que no sabe descomprimir un UPX hay programas que lo hacen automáticamente, por ejemplo PEExplorer tiene un plugin muy bueno.

También es posible intentarlo con el mismo UPX.

Hace unos días salió una nueva herramienta que también te lo descomprime automáticamente:
Faster Universal Unpacker, se puede descargar desde:
http://code.google.com/p/fuu/
En línea

Nanocity

Desconectado Desconectado

Mensajes: 124


Ver Perfil
Re: Desempaquetando UPX manualmente.
« Respuesta #3 en: 4 Junio 2010, 01:15 am »

Ahhhh ya veo ya, pues probaré porque la verdad no había leído lo del dialog que salta en el ImpRec :-X.

De todos modos había entendido que el UPX no tocaba la IAT pero intentaré comprender bien el tema de la RVA para saber por qué en este caso hay que hacerle caso a la sugerencia del ImpRec.

Sabía que existen programas para desempaquetar automáticamente pero siempre viene bien hacer las cosas a mano para darse cuenta de como se hacen.

Un saludo y gracias a los dos.
En línea

Eran nueve, nueve bajo las tres lunas,
bajo la luz del atardecer de otoño.
Mientras el mundo caía, ellos se alzaban
hacia el corazon de la historia
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ingresar información de un formulario manualmente
PHP
papafr0ta 3 2,027 Último mensaje 24 Mayo 2011, 06:39 am
por papafr0ta
Boutique plus en Ubuntu ingresar codigo manualmente
Ingeniería Inversa
dogocat 1 2,819 Último mensaje 27 Enero 2012, 21:16 pm
por MCKSys Argentina
Recuperar manualmente MBR con virus
Seguridad
cixert 2 3,531 Último mensaje 24 Mayo 2014, 04:19 am
por Gh057
Desempaquetando Enigma (versión personalizada / moddeada) « 1 2 »
Ingeniería Inversa
Shout 11 7,866 Último mensaje 12 Febrero 2015, 15:25 pm
por Shout
Validando peticion GET manualmente
Programación C/C++
AlbertoBSD 5 2,958 Último mensaje 14 Septiembre 2016, 00:08 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines