当前位置:首页 > 编程笔记 > 正文
已解决

压缩包系列

来自网友在路上 167867提问 提问时间:2023-10-08 14:40:03阅读次数: 67

最佳答案 问答题库678位专家为你答疑解惑

1、zip伪加密

一个zip文件由三部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志。

伪加密原理:zip伪加密是在文件头中加密标志位做修改,然后在打开时误被识别成加密压缩包。

压缩源文件数据区:

50 4B 03 04:头文件标记
14 03:解压文件所需 pkware 版本
00 00:全局方式位标记(判断有无加密的重要标志)
08 00:压缩方式
68 BF:最后修改文件的时间
9B 48:最后修改文件的日期
FE 32 7D 4B:CRC-32校验
E9 0D 00 00:压缩后尺寸
B5 1B 00 00:未压缩尺寸
09 00:文件名长度
00 00:扩展记录长度

压缩源文件目录区:

50 4B 01 02:目录中文件文件头标记
3F 03:压缩使用的 pkware 版本
14 03:解压文件所需 pkware 版本
09 00:全局方式位标记(有无加密的重要标志,这个更改这里进行伪加密,改为00 00打开不会提示要密码了)
08 00:压缩方式
68 BF:最后修改文件的时间
9B 48:最后修改文件的日期
FE 32 7D 4B:CRC-32校验
E9 0D 00 00:压缩后尺寸
B5 1B 00 00:未压缩尺寸
09 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 80 ED 81:外部文件属性
00 00 00 00:局部头部偏移量

压缩源文件目录结束标志:

50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
5B 00 00 00:目录区尺寸大小
10 0E 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP文件注释长度

判断是否加密:

  • 无加密
    压缩源文件数据区的全局加密应当为00 00
    压缩源文件目录区的全局方式位标记应当为00 00
  • 伪加密
    压缩源文件数据区的全局加密应当为00 00
    压缩源文件目录区的全局方式位标记应当为09 00
  • 真加密
    压缩源文件数据区的全局加密应当为09 00
    压缩源文件目录区的全局方式位标记应当为09 00
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"压缩包系列":http://eshow365.cn/6-17299-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!