![]() |
| UPX |
UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。
UPX 支持许多不同的可执行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、 Linux 可执行文件和核心。
对于可执行程序资源压缩,是保护文件的常用手段. 俗称加壳,加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.
加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。当加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。
1.压缩文件
用UPX压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。
2.加壳脱壳
程序为了防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析就需要加壳。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。
File Description upx302w.zip Win32 控制台版本 upx-3.02-i386_linux.tar.bz2 i386预编译- Linux版 upx-3.02-amd64_linux.tar.bz2 amd64预编译-linux版 upx-3.02-armeb_linux.tar.bz2 armeb预编译-linux版 upx-3.02-mipsel_linux.tar.bz2 mipsel预编译-linux版 upx-3.02-powerpc_linux.tar.bz2 powerpc预编译-linux版 upx302d.zip 32位DOS 版 upx302a.zip Atari TOS/MiNT 版 upx-3.02-src.tar.bz2 源代码
Application Format Executable Original Compressed Ratio 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 Total 17,403,075 5,347,857 0.307
以下是支持可执行文件格式列表
Format full name Pack Unpack Description Links amd64-linux.elf X X Linux ELF Linux, AMD64 amd64-linux.kernel.vmlinux X X Linux kernel arm-linux.elf X X Linux ELF Linux, ARM arm-linux.kernel.vmlinux X X Linux kernel arm-wince.pe X X Windows CE executable or DLL Windows CE, ARM armeb-linux.elf X X Linux ELF Linux, ARM armeb-linux.kernel.vmlinux X X Linux kernel fat-darwin.macho X X Mac OS X executable i086-dos16.com X X DOS 16-bit .com file i086-dos16.exe X X DOS 16-bit executable FreeDOS homepage i086-dos16.sys X X DOS 16-bit .sys file i386-bsd.elf.execve X X BSD generic i386-darwin.macho X X Mac OS X executable Darwin, i386 i386-dos32.djgpp2.coff X X DOS 32-bit COFF djgpp homepage i386-dos32.tmt.adam X X DOS 32-bit executable TMT Pascal i386-dos32.watcom.le X X DOS 32-bit linear executable Open Watcom C/C++ i386-freebsd.elf X X FreeBSD ELF FreeBSD i386-linux.elf X X Linux ELF Linux, i386 i386-linux.elf.execve X X Linux generic i386-linux.elf.shell X X Linux shell script i386-linux.kernel.bvmlinuz X - Linux kernel i386-linux.kernel.vmlinux X X Linux kernel i386-linux.kernel.vmlinuz X - Linux kernel i386-netbsd.elf X X NetBSD ELF NetBSD i386-openbsd.elf X X OpenBSD ELF OpenBSD i386-win32.pe X X Windows 32-bit executable or DLL m68k-atari.tos X X Atari TOS/MiNT executable FreeMiNT portal, m68k mips-linux.elf X X Linux ELF Linux, MIPS mipsel-linux.elf X X Linux ELF Linux, MIPS mipsel.r3000-ps1 X X PlayStation 1 PlayStation, MIPS powerpc-darwin.macho X X Mac OS X executable Darwin, PowerPC powerpc-linux.elf X X Linux ELF Linux, PowerPC powerpc-linux.kernel.vmlinux X X Linux kernel
Copyright (C) 1996-2007 Markus Franz Xaver Johannes Oberhumer Copyright (C) 1996-2007 Laszlo Molnar Copyright (C) 2000-2007 John F. Reiser All Rights Reserved. This program may be used freely, and you are welcome to redistribute 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 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the UPX License Agreement for more details.
→ 如果您认为本词条还有待完善,请编辑词条 收藏词条至个人空间
开放分类: 我来补充













