Empacar y desempacar .exe

Iniciado por yourmind, 8 Noviembre 2020, 20:08 PM

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

yourmind

Hola compañeros, en muchos tutoriales de reversing hablan de que si el ejecutable está empacado o que no lo esta.

1.- Cuando se realiza el proceso de empacado, durante el compilado?
2.- Que diferencias existen entre un ejecutable empacado y otro que no? Ofuscación quizás?
3.- Como se sabe si un programa está empacado?
4.- Que herramienta recomendáis para desempacar?

Gracias.

tincopasan

1) no, el paking se realiza con un exe externo al programa ya compilado, aunque algunos compiladores aún tienen la opción en usar upx en el propio compilado
2)En principio se usban para disminuir el tamaño de los ejecutables, no había los discos de hoy. Después comenzaron a ser una forma de protección. ofuscación es lo más simple, añaden redirección de iat,locación en otras zonas de memoria, antidebuger,antipatch, etc.
3) hay herramientas que basicamente analizan la cabecera y te dicen si es nativo o protegido, por ejemplo: RDG Packer Detector,die,etc. con el tiempo se aprende a conocer las instrucciones iniciales de los distintos compiladores desde el oep.
4) depende el packer, hay muchas genericas para packers fáciles, otras para algunos específicos, y tambien depende el tipo de compilador, *.net es distinto a c y sus variantes por ejemplo. La mejor herramienta es el cerebro y práctica.