目前压缩技术可分为通用无损数据压缩与有损压缩两大类,但不管是采用何种技术模型,其本质内容都是一样的,即都是通过某种特殊的编码方式将数据信息中存在的重复度、冗余度有效地降低,从而达到数据压缩的目的。比如:"中国"是"中华人民共和国"的简称,但前者的字数是2,后者则是7,但我们都不会对它们俩所要表达的意思产生误解,这是因为前者保留了信息中最"关键点"。同时,作为有思维能力的人类,我们可以根据前后词汇关系和知识积累,就可推断出其原来的全部信息。压缩技术也一样,在不影响文件的基本使用的前提下,只保留原数据中一些"关键点",去掉了数据中的重复的、冗余的信息,从而达到压缩的目的。这就是文件压缩技术所要遵循的最基本原理。

例如:一个文件的内容是11100000000...000001111(中间有一万个零),你要完全写出来的话,会很长很长,但如果你写"111一万个零1111"来描述它,也能得到同样的信息,但却只有十一个字,这样就减小了文件体积。在具体应用中很少有这样的文件存在,那些文件都相当复杂,根据一定的数学算法,权衡把哪段字节用一个特定的更小字节代替,就可以实现数据最大程度的无损压缩.

UPX 是一款先进的可执行程序文件压缩器。

  压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。

  通过 UPX 压缩过的程序和程序库完全没有功能损失,和压缩之前一样可正常地运行。

  对于支持的大多数格式没有运行时间或内存的 UPX不利后果。

  UPX 支持许多不同的可执行文件格式 :

  包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、Linux 可执行文件和核心。

  UPX有不光彩的使用记录,它被用来给木马和病毒加壳,躲避杀毒软件的查杀。

  UPX是一个著名的压缩壳,主要功能是压缩PE文件(比如exe,dll等文件),有时候也可能被病毒用于免杀.壳upx是一种保护程序。一般是EXE文件的一种外保护措施,主要用途 :1。让正规文件被保护起来,不容易被修改和破解。 2.使文件压缩变小。3.保护杀毒软件安装程序,使之不受病毒侵害。4.木马,病毒的保护外壳,使之难以为攻破。 仅仅看一个壳upx路径 是不能确定什么的。要仔细看看他相对应的文件,如果是杀毒或者是自己已知的文件那就无伤大雅,要是其他疑似,就要认真对待了。

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

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

今天第一次意识到可执行文件压缩的必要性及尝试,由于程序中要内嵌google浏览器,而其发布程序太大,所有可执行文件加载一起30多M,想各种方法要缩小文件体积,最终找到了upx,下了最新版本尝试一下很成功,压缩率居然不到40%,整个程序压缩下来才10M多一点 ,而我程序还能正常工作,有用的upx,将本来至少要花费半天解决的问题缩短到几分钟。

晚上回家笔记本不能通过连接的无线路由上网了,症状是能连接和登录无线路由器,无线路由器也能正常联网,但就是笔记本不能通过路由上网,重启电脑和关机重启都不行,最后发现原来无线网络属性中的DNS被设置为手动指定的DNS,改为自动DNS后就能正常联网了。