UPX, compresion de ejecutables

Tema en 'Soft y Hard' comenzado por Tavo, 10/Dic/2008.

  1. Tavo

    Tavo No one

    Ingreso:
    25/Abr/2006
    Mensajes:
    6.030
    Ultimate Packer for eXecutables
    [​IMG]

    Que es UPX?
    UPX son las siglas de Ultimate Packer for Executables, es decir, una utilidad de compresion y descompresion especializada en ejecutables, con soporte para varias plataformas y formatos.

    El programa se utiliza mediante linea de comando, con una serie de opciones que te permiten personalizar las funciones del mismo: velocidad de compresion, ratio, comprobacion del archivo comprimido, cambio de nombre del archivo despues de la compresion, etc.

    UPX destaca sobre todo por su velocidad de compresion (unos 200 MB/seg. En un Athlon XP 2 GHz, segun el autor) y por una excelente capacidad de compresion que supera a otros programas similares.

    Proceso de carga para ejecucion de un archivo
    Este tipo de programas permite comprimir el contenido de un ejecutable manteniendo su extension y reduciendo considerablemente su tamaño. Es decir, no necesito descomprimir para usar con la ventaja de ocupar menos espacio.

    Cuando ejecutamos un programa en realidad le pedimos a nuestro sistema operativo que se encargue de eso. Es decir, carga el archivo desde el disco rigido hasta la memoria para, luego, conceder el control al procesador.

    Es decir, simplificando un poco:
    1. Carga del archivo desde el disco rigido a la memoria.
    2. Preparacion y ejecucion del programa desde la memoria.

    El paso mas lento del proceso para el sistema es la carga del archivo desde el disco rigido a la memoria, ya que en esta operacion intervienen partes mecanicas, mientras que en iniciar la ejecucion, se re realliza dependiendo de la velocidad de nuestro procesador. Comparando seria: En cada movimiento del lector de un disco rigido, el procesador puede ejecutar miles de operaciones.

    En que nos beneficia un compresor de ejecutables?
    Sobre un archivo comprimido internamente, el paso extra para su ejecucion, es la propia descompresion. Pero que tan lento es descomprimir? y la respuesta es simple. El esfuerzo de trabajo con archivo comprimidos lo da la tarea de compresion. El archivo resultante ya tiene informacion de como descomprimirse rapidamente, por lo que podemos despreciar el tiempo de descompresion como tal.

    En definitiva, si reducimos a 1/3 un archivo ejecutable, este se cargara 1/3 mas rapido en memoria (en teoria), con un tiempo despreciable de descompresion del mismo, tenemos un valor siempre considerablemente mejor al tiempo de ejecucion del archivo original.


    Modo de Uso
    Si bien posee muchas opciones, les propongo que prueben con el siguiente comando:

    upx -9 -f archivo.exe

    -9 <- indica que comprima lo maximo posible.
    -f <- fuerza la compresion de un archivo "sospechoso" ;)
    archivo.exe <- a quien vamos a comprimir.

    Yo probé con uno que inicialmente tenia 634Kb, ahora pesa 228Kb.

    Informacion Adicional y Links de Descarga

    Sitio Oficial: UPX: the Ultimate Packer for eXecutables - Homepage
    Descarga Directa: http://upx.sourceforge.net/download/upx303w.zip
    Version: v3.03
    Lo Mejor: Es gratis!
     
    #1
  2. 5alv4

    5alv4 ※0※0※0※

    Ingreso:
    13/Jun/2006
    Mensajes:
    2.803
    Ubicación:
    0x66726565
    Parece muy bueno, pero habra ke probar si realmente es asi de rapido como dice!
     
    #2

Compartinos

Cargando...