UPX

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda
UPX
upx.sourceforge.net y upx.github.io
UPX screenshot.png
Tipo de programa Empaquetador de ejecutables
software libre
Modelo de desarrollo Abierto
Desarrollador Markus F.X.J. Oberhumer
Programado en C++
lenguaje ensamblador
Sistema operativo Microsoft Windows
GNU/Linux
macOS
Atari TOS
Plataforma x86
MIPS
x86_64
PowerPC
Motorola 68000
Licencia GNU General Public License, version 2.0 o posterior

UPX es un empaquetador de ejecutables gratuito, portable y de alto rendimiento, con funciones de protector de software. UPX soporta diferentes formatos de ejecutables, incluyendo programas de Windows 95/98/ME/NT/2000/XP/VISTA y DLLs, programas de DOS, Linux, etc.


Desempaquetando UPX[editar]

Hay quien puede pensar que "Sin embargo, al ser de código abierto, cualquier usuario puede ver su código fuente y por ello se ha convertido en uno de los compresores de ejecutables más fáciles de desempaquetar", realmente el mismo programa UPX trae la opción de desempaquetar el .exe o .dll. Upx no implementa en su código fuente técnicas anti-desempaquetado ni anti-debug y de otros tipos ya que la mayoría de los .exe empaquetados se han logrado desempaquetar aplicando ingeniería inversa. Lo único que lograría UPX incluyendo estas técnicas es un rendimiento menor y un aumento de tamaño en los archivos empaquetados.

Características[editar]

  • Excelente relación de compresión: típicamente comprime mejor que el WinZip/zip/gzip.
  • Descompresión muy rápida: ~10 MB/s en un Pentium 133, ~200 MB/s en un Athlon XP 2000+.
  • Universal: UPX puede empaquetar muchos formatos de ejecutables.
  • Portable
  • Libre: UPX es distribuido bajo la GNU General Public License.

Formatos soportados[editar]

  • Ejecutable Atari TOS/MiNT
  • DOS 32-bit COFF
  • DOS 16-bit archivos .com
  • Ejecutables DOS 16-bit
  • DOS 16-bit archivos .sys
  • Linux AOUT/ELF/script
  • ejecutable o DLL de Windows 32-bit
  • DOS 32-bit ejecutable TMT Pascal
  • DOS 32-bit linear ejecutable Watcom C/C++

Enlaces externos[editar]