引用:
UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。 UPX 支持许多不同的可执行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、 Linux 可执行文件和核心。
编辑本段基本介绍
UPX 是一款先进的可执行程序文件压缩器。编辑本段技术原理
对于可执行程序资源压缩,是保护文件的常用手段. 俗称加壳,加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.编辑本段应用平台
压缩文件
用UPX压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。加壳脱壳
程序为了防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析就需要加壳。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。编辑本段版权信息
Copyright (C) 1996-2007 Markus Franz Xaver Johannes OberhumerCopyright (C) 1996-2007 Laszlo MolnarCopyright (C) 2000-2007 John F. ReiserAll Rights Reserved.This program may be used freely, and you are welcome toredistribute it under certain conditions.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theUPX License Agreement for more details.编辑本段使用实例
Netscape 4.06 | win32/pe | netscape.exe | 2,934,336 | 1,124,352 | 0.383 |
Descent 2 | watcom/le | descent2.exe | 1,448,873 | 652,832 | 0.451 |
MAME 0.36 | djgpp2/coff | mame.exe | 8,214,016 | 1,810,056 | 0.220 |
OneOhOne | dos/exe | 101.exe | 438,144 | 179,566 | 0.410 |
Emacs 20.2 | linux/386 | emacs-20.2 | 2,772,657 | 925,543 | 0.334 |
g++ 2.8.1 | atari/tos | cc1plus.ttp | 1,595,049 | 655,508 | 0.411 |
编辑本段支持格式
以下是支持可执行文件格式列表X | X | Linux ELF | Linux, AMD64 | |
X | X | Linux kernel | ||
X | X | Linux ELF | Linux, ARM | |
X | X | Linux kernel | ||
X | X | Windows CE executable or DLL | Windows CE, ARM | |
X | X | Linux ELF | Linux, ARM | |
X | X | Linux kernel | ||
X | X | Mac OS X executable | ||
X | X | DOS 16-bit .com file | ||
X | X | DOS 16-bit executable | FreeDOS homepage | |
X | X | DOS 16-bit .sys file | ||
X | X | BSD generic | ||
X | X | Mac OS X executable | Darwin, i386 | |
X | X | DOS 32-bit COFF | djgpp homepage | |
X | X | DOS 32-bit executable | TMT Pascal | |
X | X | DOS 32-bit linear executable | Open Watcom C/C++ | |
X | X | FreeBSD ELF | FreeBSD | |
X | X | Linux ELF | Linux, i386 | |
X | X | Linux generic | ||
X | X | Linux shell script | ||
X | - | Linux kernel | ||
X | X | Linux kernel | ||
X | - | Linux kernel | ||
X | X | NetBSD ELF | NetBSD | |
X | X | OpenBSD ELF | OpenBSD | |
X | X | Windows 32-bit executable or DLL | ||
X | X | Atari TOS/MiNT executable | FreeMiNT portal, m68k | |
X | X | Linux ELF | Linux, MIPS | |
X | X | Linux ELF | Linux, MIPS | |
X | X | PlayStation 1 | PlayStation, MIPS | |
X | X | Mac OS X executable | Darwin, PowerPC | |
X | X | Linux ELF | Linux, PowerPC | |
X | X | Linux kernel |