常见文件格式----2023.2.16
1,ZIP文件格式
一个 ZIP 文件由三个部分组成:
压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
压缩源文件数据区:
50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密)
08 00:压缩方式
20 9E:最后修改文件时间
66 4F:最后修改文件日期
F2 1B 0F 4A:CRC-32校验(4A0F1BF2)
0E 00 00 00:压缩后尺寸
0C 00 00 00:未压缩尺寸
08 00:文件名长度
00 00:扩展记录长度
66 6C 61 67 2E 74 78 74: 文件名(不定长)
4B CB 49 4C AF 36 34 32 36 31 35 AB 05 00: 文件flag.txt压缩后的数据
压缩源文件目录区:
50 4B 01 02:目录中文件文件头标记(0x02014b50)
1F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
08 00:压缩方式 20 9E:最后修改文件时间 66 4F:最后修改文件日期
F2 1B 0F 4A:CRC-32校验(4A0F1BF2)
0E 00 00 00:压缩后尺寸
0C 00 00 00:未压缩尺寸
08 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量
压缩源文件目录结束标志:
50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
5A 00 00 00:目录区尺寸大小
34 00 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP 文件注释长度2,png
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
590000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452 .PNG........IHDR
0000010: 0000 0018 0000 0018 0806 0000 00e0 773d ..............w=
0000020: f800 0000 1974 4558 7453 6f66 7477 6172 .....tEXtSoftwar
0000030: 6500 4164 6f62 6520 496d 6167 6552 6561 e.Adobe ImageRea
0000040: 6479 71c9 653c 0000 0344 4944 4154 78da dyq.e<...DIDATx.
0000050: b454 4b48 5b51 10bd 792f 2646 a346 7411 .TKH[Q..y/&F.Ft.
0000060: 450b cac3 6840 8c14 0242 8542 e9aa ab42 E...h@...B.B...B
0000070: 5785 8614 c428 b4d0 5569 b108 5dbb 29b4 W....(..Ui..].).
0000080: 1b05 a5ab 6cb3 2a14 0ab5 8b42 75a3 d188 ....l.*....Bu...
0000090: 82c6 0ff1 4320 a2e2 2f7e 12ed 9c47 e671 ....C ../~...G.q
00000a0: 8d2f 8950 3a30 dcc7 bb33 67e6 cee7 5826 ./.P:0...3g...X&
00000b0: 2626 8499 288a a2ab d56a d555 55d5 57d7 &&..(....j.UU.W.
00000c0: d7d7 be6c 36fb fef2 f232 45a7 b8ba ba12 ...l6....2E.....
00000d0: c160 5014 13ab d94f 8bc5 72e3 24e0 1e9f .`P....O..r.$...
00000e0: cff7 b9ae ae4e 4c4e 4eda 3299 4c00 777c .....NLNN.2.L.w|
00000f0: 5f4c 1472 16f9 9a07 2e6a 6b6b 875a 5b5b _L.r.....jkk.Z[[
0000100: 454d 4d8d e8ea ea7a 4eff 3ce2 8ea2 3018 EMM....zN.<...0.
0000110: 94cb c28a 7f04 765f d3b4 27ec d0d8 d8a8 ......v_..'.....
0000120: 5655 55bd 639b 9201 a8b6 a8af 516b 9bcd VUU.c.......Qk..
0000130: 26ca caca f46f 0020 7bb7 db6d 38d8 ed76 &....o. {..m8..v
0000140: d1d1 d1f1 82ee 34d8 940c 0023 00c2 11e0 ......4....#....
0000150: 1c20 975d 2781 3d75 381c 379c 9a9b 9b55 . .]'.=u8.7....U
0000160: 2ad7 1012 bb73 0028 c073 1373 8f02 3c68 *....s.(.s.s..<h
0000170: 6b6b fb44 25b9 e554 5e5e 2eba bbbb f18a kk.D%..T^^......
0000180: c791 4844 2b16 c012 0e87 fd04 faac bebe ..HD+...........
0000190: be85 cad1 e272 b97c 04a0 e245 4ea7 530f .....r.|...EN.S.
00001a0: 5c48 8e8f 8f45 3a9d d6f5 f0f0 7091 747b \H...E:.....p.t{
00001b0: 7777 779d feff a649 0b07 0281 acb5 baba www....I........
00001c0: fa97 dfef 7710 7041 309e 2c79 ba20 4800 ....w.pA0.,y. H.
00001d0: 9a13 2f81 7a11 7479 79b9 3f16 8ba1 ae63 ../.z.tyy.?....c
00001e0: caf9 f979 120b 83c5 81e6 03e3 8e4f 59e5 ...y.........OY.
00001f0: a010 5e3c f405 2705 dbd6 7b90 4aa5 1ecd ..^<..'...{.J...
0000200: cdcd 250e 0e0e c4c5 c585 a080 fa49 0686 ..%..........I..
0000210: 1303 ca81 7007 1bf6 c1f7 d9d9 9958 5b5b ....p........X[[
0000220: 1384 f73a 140a 7de3 3d58 27e9 8d46 a371 ...:..}.=X'..F.q
0000230: 0491 c14a 89fc 1204 01f8 d4d4 1461 87be ...J.........a..
0000240: e46f 7262 6363 a377 6666 6671 6f6f cfc8 .orbcc.wfffqoo..
0000250: dc6c cb65 651b 3439 1e8f 03bc 8fc0 c70a .l.ee.49........
0000260: 5145 3291 483c 5c58 5888 a251 a5c0 5989 QE2.H<\XX..Q..Y.
0000270: f8c4 d6d6 5676 7a7a fae5 c0c0 c0f8 ad3d ....Vvzz.......=
0000280: c823 ac14 3df3 c3d1 d191 d1e4 620a 5f94 .#..=.......b._.
0000290: 6673 7333 3238 38f8 b520 9be6 3887 ff79 fss3288.. ..8..y
00002a0: 989b f85f 7e3f e4a4 b0f1 74af 1525 3b36 ..._~?....t..%;6
00002b0: 8423 ed45 6745 4585 012c 4f92 3c41 fc02 .#.EgEE..,O.<A..
00002c0: d008 ed90 7774 74d4 5694 4df9 248e f182 ....wtt.V.M.$...
00002d0: 3278 4ccd 9aca 8161 039f caca 4a80 9b52 2xL....a....J..R
00002e0: b855 1e49 3a55 32f6 c209 60bc 4068 3aa6 .U.I:U2...`.@h:.
00002f0: 8b1a 9aa6 041c 4429 3a6f 7150 3000 9d9d ......D):oqP0...
0000300: 641e 33ed 8114 a485 0238 4178 703c 3939 d.3......8Axp<99
0000310: 11c9 6452 acac acfc 248e 798b 9d21 b0e1 ..dR....$.y..!..
0000320: f6f6 f6fe a6a6 2683 5ec0 5b94 948f eec3 ......&.^.[.....
0000330: 055f c001 3015 5838 64bc baba 1add d9d9 ._..0.X8d.......
0000340: 01f0 0f76 a0cd 7d33 3f3f 3f42 73ff d1e3 ...v..}3???Bs...
0000350: f104 1b1a 1a54 f890 6805 a748 9a92 3fb4 .....T..h..H..?.
0000360: e6df 691f dcfb fbfb 2366 19e5 64fb f4f4 ..i.....#f..d...
0000370: b46f 7676 7664 6969 6998 5ed1 43fd 1837 .ovvvdiii.^.C..7
0000380: a5eb bb50 c2bf 8822 feb3 fc15 6000 74fe ...P..."....`.t.
0000390: 7622 c159 82da 0000 0000 4945 4e44 ae42 v".Y......IEND.B
00003a0: 6082 0a `..
接下来我们试着分析一下:
首先是八个字节的文件头标志,标识着png文件:
1
8950 4e47 0d0a 1a0a
接下来的地方就是IHDR数据块了:
0000 000d
说明IHDR头块长为13
4948 4452
IHDR标识(ascii码为IHDR)下面是IHDR数据块的实际内容
0000 0018
图像的宽,24像素
0000 0018
图像的高,24像素
08
表示色深,这里是2^8=256,即这是一个256色的图像
06
颜色类型,查表可知这是带α通道数据的真彩色图像
00
PNG Spec规定此处总为0(非0值为将来使用更好的压缩方法预留),表示使压缩方法(LZ77派生算法)
00
同上
00
非隔行扫描
e0 773d f8
CRC校验
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界