用VB做一个解压压缩文件的程序,但解压时如果压缩文件被设置了密码,线程就会处于等待状态而停下来,我现在想对其解压前做一些处理,那检查到压缩文件如果有密码,则作解压失败处理,现有如下资料:先谢谢各位了,等待中
一个 ZIP 文件由三个部分组成:
         
        压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志    1、压缩源文件数据区    在这个数据区中每一个压缩的源文件/目录都是一条记录,记录的格式如下:
              [文件头+ 文件数据 + 数据描述符]
 
       a、文件头结构         组成                     长度
      文件头标记                  4 bytes  (0x04034b50)
      解压文件所需 pkware 版本    2 bytes
      全局方式位标记              2 bytes
    压缩方式                    2 bytes
    最后修改文件时间             2 bytes
    最后修改文件日期             2 bytes
    CRC-32校验                  4 bytes
    压缩后尺寸                  4 bytes
    未压缩尺寸                  4 bytes
    文件名长度                  2 bytes      扩展记录长度                2 bytes
    文件名                     (不定长度)
    扩展字段                   (不定长度)               b、文件数据                 c、数据描述符    组成     长度
    CRC-32校验                  4 bytes
    压缩后尺寸                   4 bytes
    未压缩尺寸                   4 bytes      这个数据描述符只在全局方式位标记的第3位设为1时才存在(见后详解),紧接在压缩数据的最后一个字节后。这个数据描述符只用在不能对输出的 ZIP 文件进行检索时使用。例如:在一个不能检索的驱动器(如:磁带机上)上的 ZIP 文件中。如果是磁盘上的ZIP文件一般没有这个数据描述符。       2、压缩源文件目录区     在这个数据区中每一条纪录对应在压缩源文件数据区中的一条数据       组成                            长度      目录中文件文件头标记             4 bytes  (0x02014b50)      压缩使用的 pkware 版本          2 bytes      解压文件所需 pkware 版本         2 bytes      全局方式位标记                   2 bytes      压缩方式                        2 bytes      最后修改文件时间                 2 bytes      最后修改文件日期                 2 bytes      CRC-32校验                 4 bytes      压缩后尺寸                      4 bytes      未压缩尺寸                      4 bytes      文件名长度                      2 bytes      扩展字段长度                    2 bytes      文件注释长度                    2 bytes      磁盘开始号                      2 bytes      内部文件属性                    2 bytes      外部文件属性                    4 bytes        局部头部偏移量                  4 bytes      文件名                       (不定长度)      扩展字段                     (不定长度)        文件注释                     (不定长度)      3、压缩源文件目录结束标志        组成                          长度        目录结束标记                    4 bytes  (0x02014b50)        当前磁盘编号                    2 bytes        目录区开始磁盘编号              2 bytes      本磁盘上纪录总数                 2 bytes      目录区中纪录总数                 2 bytes      目录区尺寸大小                   4 bytes      目录区对第一张磁盘的偏移量        4 bytes      ZIP 文件注释长度                 2 bytes      ZIP 文件注释                   (不定长度)

解决方案 »

  1.   

    我要判段RAR文件是否有密码!!!!
    急急!!!!!!!!!
    我现在是要用二进制或16进制打开此文件,我想那是否有密码的属性一定会读到此文件中,现在问题是要确定这个标识是在什么地方?
    各位大哥,帮忙呀,小弟此问题还是10。1前的,到现在还没摆平呀,急呀,如哪个能帮忙,不仅此帖,另开帖送分!!
    谢谢了!!!!!
    兄弟们,不要让别人看扁了我们CSDN呀。
    另帖:
    http://community.csdn.net/Expert/topic/3421/3421945.xml?temp=.7141992谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!全分送呀!!!