目录
zip文件格式
压缩源文件数据区
压缩源文件目录区
压缩源文件目录结束标志
判断加密方式
无加密
真加密
伪加密
伪加密解题思路
方法一
方法二
方法三
方法四
zip文件格式
一个ZIP文件由三大部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
文章来源地址https://www.toymoban.com/news/detail-566390.html
压缩源文件数据区
数据区主要记录了压缩前后文件的元数据以及存放压缩后的文件,记录格式如下:
- 第0~3个字节:50 4B 03 04,代表了文件头标志
- 第4~5个字节:14 00,代表了解压文件所需的pkware版本
- 第6~7个字节:00 00,代表了全局方式位标记(用来判断有没有加密)
- 第8~9个字节:08 00,代表了压缩方式
- 第10~11个字节:1D 9B,代表了最后修改文件的时间
- 第12~13个字节:3D 56,代表了最后修改文件的日期
- 第14~17个字节:5A 48 63 5C,是zip文件的crc-32校验值
- 第18~21个字节:77 00 00 00,是文件压缩后的尺寸
- 第22~25个字节:B1 00 00 00,是文件未压缩前的尺寸
- 第26~27个字节:10 00,代表文件名长度
- 第28~29个字节:00 00,代表扩展记录长度
压缩源文件目录区
压缩源文件目录区是由一系列压缩源文件目录记录所组成,一条压缩文件目录记录对应数据区中的一个压缩文件记录,压缩源文件目录记录由以下部分构成:
1、第0~3个字节:50 4B 01 02,代表了目录文件头标记
2、第4~5个字节:02 3F,代表了压缩使用的pkware版本
3、第6~7个字节:14 00,代表了解压文件所需的pkware版本
4、第8~9个字节:00 00,代表了全局方式位标记(用来判断是否为伪加密)
5、第10~11个字节:08 00,代表了压缩方式
6、第12~13个字节:1D 9B,代表了最后修改文件的时间
7、第14~15个字节:3D 56,代表了最后修改文件的日期
8、第16~19个字节:5A 48 63 5C,是zip文件的crc-32校验值
9、第16~19个字节:77 00 00 00,是文件压缩后的大小
10、第24~27个字节:B1 00 00 00,是文件未压缩前的大小
11、第28~29个字节:10 00,代表文件名长度
12、第30~31个字节:00 00,代表扩展字段长度
13、第32~33个字节:00 00,代表文件注释长度
压缩源文件目录结束标志
1、第0~3个字节:50 4B 05 06,代表目录结束标记
2、第4~5个字节:00 00,代表当前磁盘编号
3、第6~7个字节:00 00,代表目录区开始磁盘编号
4、第8~9个字节:01 00,代表本磁盘上纪录总数
5、第10~11个字节:01 00,代表目录区中纪录总数
6、第12~15个字节:62 00 00 00,代表目录区尺寸大小
7、第16~19个字节:A5 00 00 00,代表目录区对第一张磁盘的偏移量
8、第20~21个字节:00 00,代表zip文件注释长度
判断加密方式
识别一个zip文件是否加密主要是看压缩源文件数据的全局方式位标记和压缩源文件目录区的全局方式位标记,关键操作在其中的全局方式标记的第一字节数字的奇偶上,其它的不管为何值,都不影响它的加密属性。通常全局方式位标记为2 bytes长度,第一字节数字为偶数表示无加密,例如:00,02,04等;为奇数表示有加密,例如01,03,09等。
无加密
无加密的zip压缩包压缩源文件数据区的全局加密应当为00 00,且压缩源文件目录区的全局方式位标记也为 00 00。
真加密
真加密的zip压缩包压缩源文件数据区的全局加密应当为09 00,且压缩源文件目录区的全局方式位标记应当为 09 00。
伪加密
伪加密的zip压缩包压缩源文件数据区的全局加密为 00 00,且压缩源文件目录区的全局方式位标记为09 00或者01 00。
伪加密解题思路
方法一
拿到一个压缩文件后尝试解压,发现出错。将其拖进winhex中查看
发现压缩源文件数据区的全局加密为 00 00,且压缩源文件目录区的全局方式位标记为09 00。其符合伪加密的特征,将09 00修改为00 00,另存为新的压缩文件即可打开。
方法二
使用ZipCenOp.jar(需要java环境),在cmd中使用,需要将压缩文件和工具放在同一目录下,否则就要加上具体路径。
java -jar ZipCenOp.jar r download.zip
成功后压缩包就可以直接打开了。
方法三
右键属性,查看注释,这题没有给提示,如果有遇到别的题可以试试。
方法四
他们说在kali中用binwalk命令可以直接将文件分离出来,我这里试了binwalk和forem发现都不行,如果你们遇到了也可以试一下。
文章来源:https://www.toymoban.com/news/detail-566390.html
到了这里,关于zip文件格式及伪加密解题思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!