Portada arrow NO-ticias arrow Comprimir ficheros ejecutables: UPX
Comprimir ficheros ejecutables: UPX
lunes, 01 de septiembre de 2008

UPX (Ultimate Packer for eXecutables) es un programa realmente increible.

Se puede descargar y utilizar libremente, en versiones para Windows y Linux y es capaz de comprimir los ficheros ejecutables de una enorme variedad de plataformas, incluyendo EXE y DLL de Windows, varios formatos de Linux, DOS, MacOS, Windows CE... Todavía no comprime los ejecutables de .NET.

Esto de comprimir los ejecutables tuvo su importancia hace unos años (con programas como el lzexe, de 1989 External link), cuando los discos duros eran caros y los dispositivos de almacenamiento extraibles (disquetes principalmente) tenían poca capacidad comparados con los dispositivos flash o soportes ópticos de hoy en día. 

Sin embargo, vuelve a tener su importancia, ya que le estamos cogiendo el gusto a llevar en nuestras memorias flash (en formato USB o similar) o los pequeños discos SSD de los dispositivos ultraportátiles todo lo que podamos. Arañar unos cuantos "megas" vuelve ser interesante. 

Utilizando UPX sobre un ejecutable, éste comprime parte del código y los datos comprendidos en el fichero, creando una versión modificada del ejecutable y normalmente de menor tamaño.

Para que el ejecutable pueda seguir funcionando de la misma manera, al manipularlo con UPX se incluye en él -de manera totalmente transparente para nosotros y para los usuarios- una porción de código descompresor, tal que cuando el ejecutable se ejecuta -valga la redundancia- el sistema operativo no carga en memoria el código y los datos comprimidos, sino que carga ese código descompresor y le pasa el control. Ése código descompresor es entonces el que lee el código y los datos comprimidos, los reconstruye en memoria muy rápidamente y pasa entonces el control al código descomprimido, que será idéntico al que había en el fichero ejecutable antes de manipularlo.

La descompresión es tan rápida en las pruebas que hemos hecho que para un usuario es prácticamente imposible notar el tiempo extra que necesita la descompresión.

La página de UPX: upx.sourceforge.net


Comentarios
Añadir nuevo
+/-
Escribir comentario
Nombre:
Email: (opcional)
 
Website: (opcional)
Título:
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Por favor introduce el código anti-spam que puedes leer en la imagen.
Por favor, sólo comentarios relacionados con la temática del artículo
Comentarios ofensivos contra personas o instituciones, carentes de contenido o que contengan publicidad serán eliminados.

3.21 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
←Artículo anterior   Artículo siguiente→

Suscríbete

RSS feed Sindicación RSS

(¿Qué es la sindicación RSS?)


Suscribir por e-mail

¿Dónde estoy?

Estás en La tecla de ESCAPE, un sitio web personal en el que nos gusta hablar de algoritmos, informática, tecnología, ciencia, ingeniería, internet... y cualquier tontería que se nos ocurra. El punto de vista de nuestros artículos técnicos suele ser muy básico, así que a menudo adoptamos grandes simplificaciones. (Más...-Términos de uso)