选择显示字体大小

windows me压缩加密的重大漏洞及探索

较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

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


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons