文件格式分析
本文最后更新于43 天前,其中的信息可能已经过时,如有错误请发送邮件到256704203@qq.com

让gpt自己总结的

ZIP文件标志

50 4B 03 04 → Local File Header(本地文件头,单个文件数据开始)

50 4B 01 02 → Central Directory(中央目录,记录文件索引信息)

50 4B 05 06 → End of Central Directory(目录结束,ZIP 结束标记)

判断 ZIP 是否加密,不看 PK 本身,而看 50 4B 01 02 中的 General Purpose Bit Flag。
从 50 4B 01 02 开始直接数,第 9~10 字节就是 flag:

00 00 → 未加密

01 00 → 已加密(bit 0 = 1)

所谓 ZIP 伪加密,就是数据本身没加密,只是把 flag 的最低位(bit 0)改成了 1,让解压软件误以为需要密码。
判断方法:看 flag 是否为 01 00,若改回 00 00 后可正常解压,则说明是伪加密。

JPG 文件标志

FF D8 → JPEG Start Of Image(文件开始)

FF D9 → JPEG End Of Image(文件结束)

FF C0 / FF C2 → SOF(Start Of Frame),记录图像宽高等信息
其中:

FF C0 → Baseline JPEG

FF C2 → Progressive JPEG

JPG 宽高通常在 FF C0 或 FF C2 后,顺序为:高(2字节)→ 宽(2字节)。

PNG 文件标志

89 50 4E 47 0D 0A 1A 0A → PNG Signature(文件头标志)
PNG 文件由多个数据块(Chunk)组成:
IHDR → 文件头块,记录图像宽、高、颜色类型等信息(必须第一个)
IDAT → 图像数据块(可多个,存储压缩后的图像数据)
IEND → 文件结束块
PNG 宽高位于 IHDR 数据块中:
宽(4字节)→ 高(4字节)(大端序)

GIF 文件标志

47 49 46 38 37 61 → GIF87a
47 49 46 38 39 61 → GIF89a
表示 GIF 图片文件(支持动图)
结构特点:
支持多帧图像
包含图像描述块和控制块

BMP 文件标志

42 4D → Bitmap(位图文件)
表示 Windows BMP 图片
结构:
文件头 + 信息头 + 像素数据

PDF文件标志

25 50 44 46 → %PDF(PDF 文件标识)
表示 PDF 文档
结构特点:
由对象(object)和数据流(stream)组成
支持压缩与嵌套

MP3 文件标志

文件头:
49 44 33(ID3标签)
或 FF FB

WAV 文件标志

52 49 46 46 …. 57 41 56 45 → RIFF….WAVE(WAV 音频)
表示 WAV 音频文件
结构:
RIFF 头 + fmt 块 + data 块

7z 文件标志

37 7A BC AF 27 1C → 7-Zip 压缩文件
表示 7z 压缩格式

RAR 文件标志

52 61 72 21 1A 07 00 → RAR4
52 61 72 21 1A 07 01 00 → RAR5
表示 RAR 压缩文件

ELF 文件标志

7F 45 4C 46 → ELF(Executable and Linkable Format)
表示 Linux 可执行文件

EXE 文件标志

4D 5A → MZ(DOS Header)
表示 Windows 可执行文件

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇