伪加密的题*,把两个地方的全局方式位标记都改为00 00,接着保存,这样处理后文件就属于未加密了
第二个数字为奇数时 –>加密
第二个数字为偶数时 –>未加密
无加密
压缩源文件数据区的全局加密应当为00 00 (504B0304两个bytes之后)
且压缩源文件目录区的全局方式位标记应当为00 00(504B0102四个bytes之后)
假加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00
真加密
压缩源文件数据区的全局加密应当为09 00
且压缩源文件目录区的全局方式位标记应当为09 00
如果这样一看好像这题是真加密来着,但是我们直接修改就会发现他是无加密的。
伪加密的压缩包或文件可以直接通过修复得到文件里面的东西
<br/>
<br/>
ZIP
<br/>
一个加密的压缩包,由三部分组成:压缩源文件数据区、压缩源文件目录区、压缩源文件目录结束标志
以上图为例,分析一下压缩包的组成部分
1.压缩源文件数据区
504B0304 | 压缩包的文件头标记(4bytes) |
---|---|
1400 | 解压文件所需的pkware版本(2bytes) |
0900 | 全局方式位标记(2bytes)[这里可以判断有无加密:0奇数00-加密;0偶数00-无加密] |
0800 | 压缩方式(2bytes) |
50A3 | 最后修改文件时间(2bytes) |
A54A | 最后修改文件日期(2bytes) |
21387665 | CRC-32校验(4bytes) |
19000000 | 压缩后尺寸(4bytes) |
17000000 | 未压缩尺寸(4bytes) |
0800 | 文件名长度(2bytes) |
0000 | 扩展记录长度(2bytes) |
2.压缩源文件目录区(从第二个504B开始)
504B0102 | 目录文件文件头标记(4bytes) |
---|---|
1F00 | 压缩使用的pkware版本(2bytes) |
1400 | 解压文件所需的pkware版本(2bytes) |
0900 | 全局方式位标记(2bytes)【这里可以来判断有无加密:解决伪加密,0奇数00-加密;0偶数00-无加密】 |
0800 | 压缩方式(2bytes) |
50A3 | 最后修改文件时间(2bytes) |
A54A | 最后修改文件日期时间(2bytes) |
21387665 | CRC-32校验(4bytes) |
19000000 | 压缩后尺寸(4bytes) |
17000000 | 未压缩尺寸(4bytes) |
0800 | 文件名长度(2bytes) |
2400 | 扩展字段长度(2bytes) |
0000 | 文件注释长度(2bytes) |
0000 | 磁盘开始号(2bytes) |
0000 | 内部文件属性(2bytes) |
20000000 | 外部文件属性(4bytes) |
00000000 | 局部头部偏移量(4bytes) |
压缩源文件目录结束标志(从第二个504B开始)
504B0506 | 目录结束标记 |
---|
<br/>
经过分析,关于压缩包的加密:
压缩源文件数据区(504B0304起)和压缩源文件目录区(504B0102起)的全局方式位标记均为0偶数00,则是未加密 |
---|
压缩源文件数据区(504B0304起)和压缩源文件目录区(504B0102起)的全局方式位标记均为0奇数00,则是真加密 |
压缩源文件数据区(504B0304起)的全局方式位标记为0偶数00,压缩源文件目录(504B0102起)的全局方式位标记为0奇数00,则是伪加密 |
伪加密——文件源文件目录区(504B0102)的全局方式位标记是关键
将0偶数00改为0奇数00便可达到伪加密
评论 (0)