Zip压缩包伪加密原理

Zip压缩包一般由如下部分组成:

  1. 压缩源文件数据区
  2. 压缩源文件目录区
  3. 压缩源文件目录结束标志

压缩源文件数据区:

压缩源文件目录区:

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

如何识别真伪加密:

1.无加密:

  • 压缩源文件数据区的全局加密标志应当为00 00
  • 且压缩源文件目录区的全局方式位标记应当为00 00

2.伪加密:

  • 压缩源文件数据区的全局加密标志应当为00 00
  • 且压缩源文件目录区的全局方式位标记应当为09 00

3.真加密:

  • 压缩源文件数据区的全局加密标志应当为09 00
  • 且压缩源文件目录区的全局方式位标记应当为09 00

下面以攻防世界的的题目base64stego为例,实际讲解:

如下,开始附件打开要求输入密码,使用360解压缩可以自动破解这种伪加密,但是还是记录一下伪加密的原理:

1、下图是本题压缩源文件的数据区

说明:

50 4B 03 04:这是文件头标记(0x04034B50)
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:扩展记录长度

2. 下图是压缩源文件目录区:

说明:

50 4B 01 02:目录中文件文件头标记(0x02014B50)
3F 03:压缩使用的 pkware 版本
14 03:解压文件所需 pkware 版本
09 00:全局方式位标记(结合数据区的加密标志00 00,可判断这是伪加密,将09 00 改为00 00即可。)
08 00:压缩方式
68 BF:最后修改文件时间
9B 48:最后修改文件日期
FE 32 7D 4B:CRC-32校验(1480B516)
E9 0D 00 00:压缩后尺寸(25)
B5 1B 00 00:未压缩尺寸(23)
09 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 80 ED 81:外部文件属性
00 00 00 00:局部头部偏移量

3、下图是压缩源文件目录结束标志:

说明:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值