压缩壳以减小程序体积为主要目的,通过特定的压缩算法对程序代码和资源进行压缩,从而使软件在存储和传输过程中更加高效。这类壳在不影响程序正常运行的前提下,显著降低了软件所占的磁盘空间和网络传输流量。例如,一些大型游戏的安装包在加压缩壳后,下载速度明显加快,玩家无需长时间等待即可开始安装游戏。
常见的压缩壳有 ASPacK、UPX、PECompact 等。ASPacK 是一款 Win32 可执行文件压缩软件,可对 Windows 32 位可执行文件(.exe)以及库文件(.dll、.ocx)进行压缩,文件压缩比率高达 40% - 70% 。它在压缩时会重写 EXE 文件的某些部分,优化和压缩程序中的多余空间,不仅减小了文件大小,还可能加快程序启动的初始加载速度,因为压缩后的数据更小,需要读取的数据量减少 。而且,ASPack 在压缩文件时尽量保持了原始文件的外部属性,包括文件名、版本信息和图标等,用户不会察觉到任何改变。
UPX 是一个以命令行方式操作的可执行文件经典免费压缩程序,其压缩算法自行实现,速度极快且开源。它支持多种可执行文件格式,包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、Linux 可执行文件和核心等 。经过 UPX 压缩的程序体积可缩小 50% - 70% ,大大减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用 ,并且压缩后的程序和程序库完全没有功能损失,运行时也不会出现性能损失,对大部分支持的格式来说,不会带来运行时或内存上的不利影响。虽然 UPX 是命令行工具,对于不熟悉命令行操作的用户存在一定不便,但也有 Free UPX 等图形界面程序可供选择,简化了操作流程。
PECompact 同样是一款能压缩可执行文件的工具,支持 EXE、DLL、SCR、OCX 等文件。相比同类软件,它提供了多种压缩项目的选择,用户可以根据需要确定哪些内部资源需要压缩处理 。比如,用户可以选择只压缩程序的代码部分,或者只压缩资源文件,这种灵活性使得用户能够根据软件的特点和需求进行个性化的压缩设置。同时,该软件还提供了加解密的插件接口功能,方便用户扩展其功能,进一步增强软件的保护和压缩效果。