由全球位网民共同编辑的总计词条文字。(
 

目录

[显示全部]


编辑本段

UPX - 基本介绍

UPX
UPX

     UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。

    UPX 支持许多不同的可执行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库DOS 程序、 Linux 可执行文件和核心。

编辑本段 回目录

UPX - 技术原理

     对于可执行程序资源压缩,是保护文件的常用手段. 俗称加壳,加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码. 

     加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。当加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。

编辑本段 回目录

UPX - 应用平台

1.压缩文件

  用UPX压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。

2.加壳脱壳

   程序为了防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析就需要加壳。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。

编辑本段 回目录

UPX - 版本及下载

 


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 源代码

 

编辑本段 回目录

UPX - 使用实例


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

 

编辑本段 回目录

UPX - 支持格式

以下是支持可执行文件格式列表


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  

 

编辑本段 回目录

UPX - 版权信息

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.

编辑本段 回目录

UPX - 参考资料

→ 如果您认为本词条还有待完善,请编辑词条 收藏词条至个人空间

开放分类: 我来补充

"UPX"维吧(0)个主题进入维吧>> 我来发言>>

词条基本信息

查看贡献者>> 查看版本>>

最大贡献者

最新编辑者

相关词条

地震后的汶川
风景秀丽的汶川
奥运知识比拼