Windows Me压缩加密的重大漏洞及探索

王朝厨房·作者佚名  2007-01-05
宽屏版  字体: |||超大  

较Windows98一个重要的优势在于,它能直接浏览Zip格式文件,并且它还能将Zip格式的图标改成类似普通文件夹的图标,很类似一款著名的软件Zipmagic,而且只需点击鼠标右键,便能对它进行加密解密,而且还可以在不解密情况下,浏览压缩文件夹的名称,这大大提高WindowsMe对Zip的竞争力,从而使Windows几乎无所不能,大有一统天下之势。

然而,微软件并非万能,它的许多技术都是从其它公司买过来的,虽然它也拥有这些软件的技术,甚至已将它整合进操作系统,但不代表微软公司对之了如指掌。正如微软件公司买下PcAnywhere一下,同样,微软件公司的WindowsMe中集成的压缩加密技术也可能是从其它公司买下的,只是微软好象没有宣称。同时我对微软件公司的产品存在一定的疑虑,其安全性一直令人怀疑,本文旨在探索WindowsMe自带压缩加密的安全性问题,以引起网友们注意。

一般的,微软件公司总习惯将自己的密码保存在系统中某一特定的文件中,如开机密码在“用户名.pwl”文件中,屏幕保护密码则在注册表中,那么压缩加密文件信息是如何保存的呢?

我先试着加密某一文件,如取名"我的文章.doc",先压缩,然后加密,密码为111。然后通过windows的搜索功能,查一查什么文件包含有“我的文章”这些字符,结果令我惊奇的发现,在C:\wimdows目录下(我的系统默认目录即为windows)有一个文件:DYNAZIP.LOG,它清楚记录着我刚刚加密的全部信息。现摘录如下(;后面为我的注释):

DynaZIP ZIP Diagnostic Log - Version: 3.00.16 - 12/06/01 15:28:38 ---;压缩加密程序的名称及版本信息,可能购买的是DynaZIP程序。包括压缩的详细时间信息

Function: 5

lpszZIPFile: 0x004d3a68 ;贮存密码重要信息

C:\WINDOWS\Desktop\我的文章.zip ;加密文件的原位置

lpszItemList: 0x005ae0e4 ;

"我的文章.doc";压缩前文件的名称

lpMajorStatus: 0x00000000 ;以下为加密全过程

lpMajorUserData: 0x00000000

lpMinorStatus: 0x00000000

lpMinorUserData: 0x00000000

dosifyFlag: 0

recurseFlag: 0

compFactor: 5

quietFlag: 1

pathForTempFlag: 0

lpszTempPath: 0x00000000

???

fixFlag: 0

fixHarderFlag: 0

includeVolumeFlag: 0

deleteOriginalFlag: 0

growExistingFlag: 0

noDirectoryNamesFlag: 0

convertLFtoCRLFFlag: 0

addCommentFlag: 0

lpszComment: 0x00000000

???

afterDateFlag: 0

lpszDate: 0x00000000

oldAsLatestFlag: 0

includeOnlyFollowingFlag: 0

lpszIncludeFollowing: 0x00000000

???

excludeFollowingFlag: 0

lpszExludeFollowing: 0x00000000

???

noDirectoryEntriesFlag: 0

includeSysHiddenFlag: 1

dontCompressTheseSuffixesFlag: 0

lpszStoreSuffixes: 0x00000000

???

encryptFlag: 1 ;表示加密,0表示解密

lpszEncryptCode: 0x733b85d4 ;经加密算法处理后的密码

111 ;加密的原密码

lpMessageDisplay: 0x733ad937 ;经加密算法处理后显示的密码,与加密后密码不同,主要防止某些破解工具直接窃取密码,这是第二层算法加密,增加破解的难度

lpMessageDisplayData: 0x00000000 ;防止密码被盗用

wMultiVolControl: 0x0000

wZipSubOptions: 0x0000 ;压缩中是否包含下级文件夹

lResv1: 0x00000000

lResv2: 0x00000000

lpszExtProgTitle: 0x00000000

???

lpRenameProc: 0x733a39ff

lpRenameUserData: 0x005ae3f6 ;用户数据

lpMemBlock: 0x004d6444

lMemBlockSize: 20356

从以上信息可以看到,全部加密过程一目了然。如果对同一文件采取不同的密码加密,然后分析其加密算法,便能完全破解其加密方法。虽然采取了双层加密,即经加密算法加密后的密码再经过一层加密,以防止被某些软件的窃取和分析。其本意可能是好的,但由于微软件系统本身的缺陷,导致这一措施显得苍白无力。

那么,解密时又是怎样的呢?现与加密的部分数据对比,请看下面(;后为注释):

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有