当前位置:网站首页>zip文件协议解析

zip文件协议解析

2022-08-10 19:07:00 山有木兮啊

说明

未加密的ZIP压缩包
工具:360压缩
压缩文件:
文件夹:folder, 文件夹folder下:test.txt、favicon.ico
字节序:小端(压缩包都是以小端字节序存储)

二进制打开压缩包如下
50 4B 03 04 14 00 00 00 08 00 17 53 A7 54 18 4C
49 51 7A 01 00 00 7E 04 00 00 12 00 00 00 66 6F
6C 64 65 72 2F 66 61 76 69 63 6F 6E 2E 69 63 6F
8D 94 3D 4B 03 41 10 86 C7 18 34 58 C4 10 42 B0
D2 60 65 2D 62 9D DA D2 5A 2C 72 16 22 FE 02 B1
48 23 22 6A 6D 21 22 62 61 11 24 D8 5E 2A 09 36
77 95 88 88 A4 B0 B4 B2 10 91 20 7E C4 67 EE 83
DC AD 77 26 1B 1E 66 33 3B EF EC CE 4C 88 C8 08
9F 42 41 6D 45 D6 B3 22 65 11 99 03 5C 78 7C BF
B7 38 1B 76 B5 5C 4B 5A 8E 55 C4 56 02 72 83 34
D1 45 7C 15 1E E0 93 3C 1F 2D B7 76 94 96 03 7F
16 16 60 05 16 A1 84 46 B5 BD 08 6F 9A 33 41 5B
26 B6 61 BB 7A 87 F5 0D 5D 68 7A F7 C6 F5 CA B6
D6 65 E8 CF 12 E2 D2 38 86 8C A1 7F 19 42 17 D2
E1 9D A7 B6 63 ED D9 6E AD CA BB B5 EE EB 84 B8
57 38 87 43 B8 45 A3 75 F5 CF 9D 9A DA 2E FE 7D
F6 B3 EC AF D8 87 F5 6A EC 1A 84 EF 2B C1 5D CA
7B F4 9E 69 66 D3 8C E8 D5 2E 85 7A FC 39 F6 37
FF E8 2F A3 3E DB 7F DB 13 6C C0 32 5C 04 39 4D
AD CE 73 87 BB 75 5E 69 FD 8A E3 58 CF 58 FD 1D
6D C1 3C B5 67 B0 EF 03 75 7D EE 21 6F CC AF 61
C4 68 FF 1E A9 3B 29 6F 07 8A 86 7E 0A 4E 82 DC
6D 66 BB 89 2D 40 AC 2F 01 6D E6 3E 11 D5 07 39
B4 8E 3C 8C 45 7C 3A 57 ED 7B 38 7B ED D7 2A 98
F2 C4 45 5F 35 87 E6 D4 3C 0A 73 B6 FE FC 03 F4
7A 22 3F 33 22 5F 50 07 99 84 51 FF 6C B7 EE E3
7D 1D 0F CE E0 00 54 A3 DA 5F 50 4B 03 04 0A 00
00 00 00 00 89 50 03 55 8C E5 65 BF 05 00 00 00
05 00 00 00 0F 00 00 00 66 6F 6C 64 65 72 2F 74
65 73 74 2E 74 78 74 45 55 4C 41 52 50 4B 03 04
14 00 00 00 00 00 CE 44 04 55 00 00 00 00 00 00
00 00 00 00 00 00 07 00 00 00 66 6F 6C 64 65 72
2F 50 4B 01 02 3F 00 14 00 00 00 08 00 17 53 A7
54 18 4C 49 51 7A 01 00 00 7E 04 00 00 12 00 24
00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 66
6F 6C 64 65 72 2F 66 61 76 69 63 6F 6E 2E 69 63
6F 0A 00 20 00 00 00 00 00 01 00 18 00 00 2B 4B
9E B9 61 D8 01 AD 03 ED B9 9A A7 D8 01 B2 84 5B
83 9A A7 D8 01 50 4B 01 02 3F 00 0A 00 00 00 00
00 89 50 03 55 8C E5 65 BF 05 00 00 00 05 00 00
00 0F 00 24 00 00 00 00 00 00 00 20 00 00 00 AA
01 00 00 66 6F 6C 64 65 72 2F 74 65 73 74 2E 74
78 74 0A 00 20 00 00 00 00 00 01 00 18 00 C8 2B
F5 55 DD A6 D8 01 3F 2A ED B9 9A A7 D8 01 BA 0D
AB 4A DD A6 D8 01 50 4B 01 02 3F 00 14 00 00 00
00 00 CE 44 04 55 00 00 00 00 00 00 00 00 00 00
00 00 07 00 24 00 00 00 00 00 00 00 10 00 00 00
DC 01 00 00 66 6F 6C 64 65 72 2F 0A 00 20 00 00
00 00 00 01 00 18 00 B2 84 5B 83 9A A7 D8 01 03
D1 8F CE 9A A7 D8 01 81 02 E9 5A 9A A7 D8 01 50
4B 05 06 00 00 00 00 03 00 03 00 1E 01 00 00 01
02 00 00 0C 00 48 65 6C 6C 6F 20 57 6F 72 6C 64
00
解析
50 4B 03 04     -> 本地文件头标识符 (0x04034b50)
14 00           -> 提取所需要的版本
00 00           -> 通用位标志 (未加密)
08 00           -> 压缩方法 (0x08)
17 53           -> 最后修改文件时间 时分秒(0x5317)
A7 54           -> 最后修改文件日期 年月日(0x54A7)
18 4C 49 51     -> CRC32 (0x51494C18)
7A 01 00 00     -> 压缩大小 (0x017A)(378)
7E 04 00 00     -> 未压缩大小 (0x047E)(1150)
12 00           -> 文件名长度 (0x12)(18)
00 00           -> 额外字段长度 (0x0)
66 6F 6C 64 65 72 2F 66 61 76 69 63 6F 6E 2E 69 63 6F
                -> 文件名 (folder/favicon.ico)
8D 94 3D 4B 03 41 10 86 C7 18 34 58 C4 10 42 B0
D2 60 65 2D 62 9D DA D2 5A 2C 72 16 22 FE 02 B1
48 23 22 6A 6D 21 22 62 61 11 24 D8 5E 2A 09 36
77 95 88 88 A4 B0 B4 B2 10 91 20 7E C4 67 EE 83
DC AD 77 26 1B 1E 66 33 3B EF EC CE 4C 88 C8 08
9F 42 41 6D 45 D6 B3 22 65 11 99 03 5C 78 7C BF
B7 38 1B 76 B5 5C 4B 5A 8E 55 C4 56 02 72 83 34
D1 45 7C 15 1E E0 93 3C 1F 2D B7 76 94 96 03 7F
16 16 60 05 16 A1 84 46 B5 BD 08 6F 9A 33 41 5B
26 B6 61 BB 7A 87 F5 0D 5D 68 7A F7 C6 F5 CA B6
D6 65 E8 CF 12 E2 D2 38 86 8C A1 7F 19 42 17 D2
E1 9D A7 B6 63 ED D9 6E AD CA BB B5 EE EB 84 B8
57 38 87 43 B8 45 A3 75 F5 CF 9D 9A DA 2E FE 7D
F6 B3 EC AF D8 87 F5 6A EC 1A 84 EF 2B C1 5D CA
7B F4 9E 69 66 D3 8C E8 D5 2E 85 7A FC 39 F6 37
FF E8 2F A3 3E DB 7F DB 13 6C C0 32 5C 04 39 4D
AD CE 73 87 BB 75 5E 69 FD 8A E3 58 CF 58 FD 1D
6D C1 3C B5 67 B0 EF 03 75 7D EE 21 6F CC AF 61
C4 68 FF 1E A9 3B 29 6F 07 8A 86 7E 0A 4E 82 DC
6D 66 BB 89 2D 40 AC 2F 01 6D E6 3E 11 D5 07 39
B4 8E 3C 8C 45 7C 3A 57 ED 7B 38 7B ED D7 2A 98
F2 C4 45 5F 35 87 E6 D4 3C 0A 73 B6 FE FC 03 F4
7A 22 3F 33 22 5F 50 07 99 84 51 FF 6C B7 EE E3
7D 1D 0F CE E0 00 54 A3 DA 5F
                -> 压缩后的文件数据

50 4B 03 04     -> 本地文件头标识符 (0x04034b50)
0A 00           -> 提取所需要的版本
00 00           -> 通用位标志 (未加密)
00 00           -> 压缩方法 (未压缩)
89 50           -> 最后修改文件时间 时分秒(0x5089)
03 55           -> 最后修改文件日期 年月日(0x5503)
8C E5 65 BF     -> CRC32 (0xBF65E58C)
05 00 00 00     -> 压缩前大小 (0x05)
05 00 00 00     -> 压缩后大小 (0x05)
0F 00           -> 文件名长度 (0x0F)(15)
00 00           -> 额外字段长度
66 6F 6C 64 65 72 2F 74 65 73 74 2E 74 78 74
                -> 文件名 (folder/test.txt)
45 55 4C 41 52  -> 文件内容 (EULAR)

// 以下是文件夹的文件头
50 4B 03 04     -> 本地文件头标识符 (0x04034b50)
14 00           -> 提取所需要的版本
00 00           -> 通用位标志 (未加密)
00 00           -> 压缩方法 (未压缩)
CE 44           -> 最后修改文件时间 时分秒(0x44CE)
04 55           -> 最后修改文件日期 年月日(0x5504)
00 00 00 00     -> CRC32
00 00 00 00     -> 压缩前大小 (0x00)
00 00 00 00     -> 压缩后大小 (0x00)
07 00           -> 文件名长度 (0x07)
00 00           -> 额外字段长度
66 6F 6C 64 65 72 2F
                -> 文件名 (folder/)
                -> 无文件数据


50 4B 01 02     -> 中央文件头标识符 (0x02014b50)
3F 00           -> 版本
14 00           -> 提取所需的版本
00 00           -> 通用位标志
08 00           -> 压缩方法
17 53           -> 最后修改文件时间 时分秒
A7 54           -> 最后修改文件日期 年月日
18 4C 49 51     -> CRC32
7A 01 00 00     -> 压缩大小
7E 04 00 00     -> 压缩前大小
12 00           -> 文件名长度
24 00           -> 额外字段长度
00 00           -> 文件注释长度
00 00           -> 磁盘号
00 00           -> 内部文件属性
20 00 00 00     -> 外部文件属性
00 00 00 00     -> 本地头的相对偏移量
66 6F 6C 64 65 72 2F 66 61 76 69 63 6F 6E 2E 69 63 6F
                -> 文件名 (folder/favicon.ico)
0A 00 20 00 00 00 00 00 01 00 18 00 00 2B 4B 9E B9 61
D8 01 AD 03 ED B9 9A A7 D8 01 B2 84 5B 83 9A A7 D8 01
                -> 额外字段内容
                -> 无文件注释

50 4B 01 02     -> 中央文件头标识符 (0x02014b50)
3F 00           -> 版本
0A 00           -> 提取所需的版本
00 00           -> 通用位标志
00 00           -> 压缩方法
89 50           -> 最后修改文件时间 时分秒
03 55           -> 最后修改文件日期 年月日
8C E5 65 BF     -> CRC32
05 00 00 00     -> 压缩大小
05 00 00 00     -> 压缩前大小
0F 00           -> 文件名长度
24 00           -> 额外字段长度
00 00           -> 文件注释长度
00 00           -> 磁盘号
00 00           -> 内部文件属性
20 00 00 00     -> 外部文件属性
AA 01 00 00     -> 本地头的相对偏移量 (0x01AA)(426)
66 6F 6C 64 65 72 2F 74 65 73 74 2E 74 78 74
                -> 文件名 (folder/test.txt)
0A 00 20 00 00 00 00 00 01 00 18 00 C8 2B F5 55 DD A6
D8 01 3F 2A ED B9 9A A7 D8 01 BA 0D AB 4A DD A6 D8 01
                -> 额外字段内容
                -> 无文件注释

// 此处省略另一个中央目录头

50 4B 05 06     -> 中心目录结尾标识符 (0x06054b50)
00 00           -> 当前磁盘编号
00 00           -> 目录区开始磁盘编号
03 00           -> 本磁盘上纪录总数 (0x03)
03 00           -> 目录区中纪录总数 (0x03)
1E 01 00 00     -> 目录区尺寸大小 (0x011E(286)) (中央目录总的字节数)
01 02 00 00     -> 目录区对第一张磁盘的偏移量 (0x0201) (第一个目录区在此文件的位置)
0C 00           -> ZIP文件注释长度 (12)
48 65 6C 6C 6F 20 57 6F 72 6C 64 00
                -> ZIP 文件注释内容 (Hello World\0)

ZIP协议
链接给出的是zip协议的各个版本说明

原网站

版权声明
本文为[山有木兮啊]所创,转载请带上原文链接,感谢
https://blog.csdn.net/DefiniteGoal/article/details/126220988

随机推荐