Ya hemos visto hace poco utilidades para comprimir archivos, ¿pero qué tal si pudieras usar ejecutables que ya están comprimidos? No hablamos de la clásica compresión que permiten las plataformas Windows, sino que puedes reducir considerablemente el tamaño de un ejecutable y seguir usándolo sin problemas.

En estas épocas de discos duros gigantescos, puede sonar un poco absurda la idea de comprimir un archivo ejecutable. ¿Cuál es el punto de ganar algunos megabytes cuando se posee un disco de cien gigas o más?

Bueno, la verdad es que no todos poseen un disco de esas características, y el nuevo boom de las ultraportátiles nos ha traído modelos con unidades de almacenamiento bastante pequeñas en comparación con sus contrapartes de escritorio. Al mismo tiempo, muchos aún utilizan pendrives de tamaño reducido, y para quienes están en esa situación, pelear por cada byte que puedan sacar de su pendrive es una tarea diaria. Y también está el caso de los desarrolladores de software, que para reducir lo más posible el tamaño de sus distribuciones, someten a compresión los ejecutables de sus programas.

Lo bueno es que tú también puedes hacerlo.

Qué es UPX

Desde hace ya varios años existe una utilidad que permite realizar esta clase de operación: UPX. UPX son las siglas de Ultimate Packer for eXecutables, creado por Markus F.X.J. Oberhumer, László Molnár y John F. Reiser (sin relación con Hans Reiser, el creador del sistema de archivos de Linux). Este pequeño programa, disponible para varios sistemas operativos, puede comprimir los archivos de múltiples plataformas, desde ejecutables de PlayStation hasta los kernel de Linux, pasando obviamente por los ejecutables de Windows. El único problema de UPX, que aún se mantiene hoy en día, es que es demasiado complicado de usar. Por defecto, UPX no tiene entorno gráfico, y el usuario debe tipear complicadas líneas de comandos para hacerlo funcionar, algo que la gran mayoría no quiere hacer ni en sueños.

UPX Frontend: Cómo comprimir archivos ejecutables
Usar UPX en la consola demanda líneas de comando kilométricas
UPX Frontend: Cómo comprimir archivos ejecutables
La pantalla principal del Frontend

UPX Frontend: la interfaz gráfica

Pero las cosas pueden ser mucho más sencillas gracias al UPX Frontend. Este programa logra darle una interfaz mucho más amigable al UPX y reduce su uso a un par de clics. Hace un tiempo que este entorno gráfico no recibe una actualización, pero funciona perfectamente con la última versión de UPX, la versión 3.0.3. Para que te des una idea de lo que puede hacer este programa, descarga el UPX desde aquí, y obtén el Frontend desde esta ubicación.

Instalación y configuración

Ahora, el Frontend posee una versión antigua de UPX, por lo que vamos a reemplazar el upx.exe del interior de su carpeta con el nuevo upx.exe que acabas de descargar de la página. Windows te preguntará si deseas sobrescribir. Haz clic en .

Ejecuta el Frontend y verás su ventana principal. Allí hay muchas opciones disponibles para modificar. Tal vez lo primero que quieras tildar es LZMA compression, que mejorará un poco la tasa de compresión. En cuanto a las otras opciones, te recomendamos usar las que figuran en la imagen de muestra. Usar las opciones All Filters, All Methods, o alguna de las que figuran bajo Brute Force hará que el proceso se vuelva muy lento, mientras que el beneficio roza lo insignificante, ganando apenas un kilobyte o dos.

UPX Frontend: Cómo comprimir archivos ejecutables
UPX trabajando a pleno

Un ejemplo con Firefox

Ahora, algo muy importante: Haz siempre un respaldo del ejecutable que vas a comprimir. No comprimas jamás directamente el ejecutable en su carpeta de origen. Existen casos en que la compresión puede arruinar el archivo, y si solo tienes la copia original, deberás reinstalar el programa para que funcione de nuevo. Por ello, mantén aislado siempre un respaldo del ejecutable, por si las moscas.

Como ejemplo, usaremos algo bastante común: el ejecutable del Firefox, firefox.exe. Su tamaño original en la versión 2.0.0.14 es de 7.3 megabytes. Hicimos una copia de respaldo y procedimos a la compresión haciendo clic en Start Compression. Luego de unos pocos segundos, el programa termina de comprimir el ejecutable, dejándolo con un tamaño final de 2.8 megabytes, poco más del 38% de su tamaño original. Ahora solo debes copiar el ejecutable comprimido y sobrescribir el ejecutable original del Firefox (aún tienes ese respaldo, ¿verdad?). Prueba a ejecutarlo y verás que el zorro de fuego arranca perfectamente. Solo cuando hayas verificado que funciona como debe, puedes eliminar el ejecutable de respaldo.

UPX Frontend: Cómo comprimir archivos ejecutables
El ejecutable del Firefox quedó en apenas 2.8 megabytes
UPX Frontend: Cómo comprimir archivos ejecutables
Su funcionamiento fue perfecto, Firefox se inició como si nada hubiera pasado
UPX Frontend: Cómo comprimir archivos ejecutables
UPX Frontend: Cómo comprimir archivos ejecutables

Recomendaciones finales

Puedes someter a casi cualquier ejecutable a este proceso. Muchos programas poseen archivos ejecutables muy grandes y podrás reducir su tamaño, siempre y cuando tomes los recaudos necesarios. Aún así, existen algunos ejecutables que se rehúsan a ser comprimidos. Ante ellos puedes intentar usar la opción Force, pero las probabilidades de éxito en estos casos son muy bajas. Otra cosa que no recomendamos es comprimir ejecutables del sistema operativo, ya que las consecuencias pueden superar por mucho a los beneficios. Sin embargo, si trabajas con mesura y siempre teniendo un respaldo, podrás reducir el tamaño de muchos ejecutables en tu disco duro, sin afectar su funcionamiento. ¡Buena suerte!

  • Página oficial de UPX:
  • Página del Frontend: