引用:
UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。 UPX 支持许多不同的可执行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、 Linux 可执行文件和核心。
目录
- 基本介绍
- 技术原理
- 应用平台
- 版权信息
- 使用实例
- 支持格式
- 展开
编辑本段基本介绍
UPX 是一款先进的可执行程序文件压缩器。 压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失,和压缩之前一样可正常地运行。 对于支持的大多数格式没有运行时间或内存的UPX
编辑本段技术原理
对于可执行程序资源压缩,是保护文件的常用手段. 俗称加壳,加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码. 加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。当加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。编辑本段应用平台
压缩文件
用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 |
- 扩展阅读:
-
- 1
狗狗,360论坛,瑞星
- 1
- 开放分类:
- 加壳工具,UPX