ayuda upx modificado?

Iniciado por metropiezo, 21 Enero 2011, 19:09 PM

0 Miembros y 1 Visitante están viendo este tema.

metropiezo

Lo primero daros las gracias por vuestro tiempo.
Estoy empezando en esto de la ingeniería inversa y no me canso de leer tutoriales y hacer crackmes, quiero aprender.
Vamos al lio, estoy intentando descomprimir este programa

http://www.alcohol-soft.com/

Analizandolo con Peid  me dice que es un UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay]
Anlizandolo con RDG tambien me dice que es un UPX.
Lo intento desempacar con Guipex y me dice que modified/hacked/protected.
Lo abro con Olly y aparentemente si que es un UPX pero entrando en Memoria en lugar de UPX0 y UPX1 pone SSE3 y SSE2.
luego como todos los UPX encuentro facilmente el POPAD y el JMP al OEP (o eso creo).
Intentando reparar la IAT con ImpRec en automatico me dice que ni de coña.
Lo intento hacer a mano buscando el call que me lleva al salto de la memoria y aparentemente va todo bien, pero cuando pongo el inicio y largo en el ImpRec me dice   NO.

Haber si alguien me puede orientar de donde está el truco de este UPX.


AyudaPlis

has probado con PEExplorer?

metropiezo

para que tengo que pasarle el PEExplorer? (perdona mi ignorancia)

tena

El PExplorer trae incorporado un unpacker para upx.

Ahora dinos que daos pusiste en el ImportRec
oep, rva y size (inicio y tamaño de iat)


Lo que veo es que en la iat, las dlls estan separadas por una gran cantidad de ceros,
y el inicio y size que da el IR es incorrecto.

Yo saque estos datos del olly

rva 44919c, size 1504

aunque dejando los que te da el import el dump arranca, no se hasta que punto pero al menos va.

Sea como sea, el dump sale funcional, solo te saca un cartelito de que no pudo cargar los controladores y no estaran disponibles algunas opciones de emulacion y de interfaz.  Deberias ver porque no los carga el dumpeado.

suerte

tena

Por las dudas, quizas no estas poniendo bien los datos en el IR, acordate de que tenes que poner el oep sin la imagen base (400000)

slds

metropiezo

los datos que he sacado son

OEP 1644
rva  49548
sice   2156

Es cierto que hay muuuchos ceros y lo que me mosquea es que en la direccion del dump 849cd4 hay un JMP to SHELL32.SHGetFolderPathW.

¿que estoy haciendo mal?

metropiezo

ya he conseguido descomprimirlo, el problema era que en inicio yo ponia 491a0 y hay que poner 4491a0.
el programa abre pero me avisa de que no se cargan unos controladores de emulacion (alguna ayuda para resolver esto?)

Tambien el olly de dice que esta fuera del entry point.