无需登录 数据私有 本地保存

文件格式魔数识别器 - 通过头部字节判断类型

38
0
0
0
选择识别方式

拖拽文件到此处 或 点击选择

支持所有文件类型,自动读取文件头部进行识别

解析到的字节:
识别结果

请上传文件或输入十六进制数据开始识别

文件头部十六进制预览
常见魔数速查表
类别 格式 扩展名 魔数 (十六进制) 描述

常见问题 FAQ

文件魔数是文件开头的一个或多个特定字节序列,用于标识文件的真实格式类型。操作系统和应用程序通过读取这些字节(而非依赖文件扩展名)来判断文件类型。例如PNG文件始终以89 50 4E 47开头,PDF文件以25 50 44 46(即"%PDF")开头。这种机制比扩展名更可靠,因为扩展名可以被随意修改。

扩展名(如.jpg、.png、.pdf)只是文件名的一部分,可以任意修改,不具备可靠性。魔数内嵌在文件二进制数据中,是文件格式设计时定义的固定标识,几乎无法伪造(除非刻意修改文件头部)。因此,魔数识别是判断文件真实类型的更可靠方式,广泛应用于文件上传安全检测、数据恢复、数字取证等领域。

可能有以下几种原因:
1) 纯文本文件(如.txt、.csv、.json)通常没有固定的魔数,它们直接以文本内容开头;
2) 某些格式的魔数位于文件较深位置(如tar的魔数在偏移257字节处,ISO光盘镜像的魔数在偏移32769处),本工具读取前1024字节,可能无法覆盖所有偏移;
3) 文件头部损坏或被篡改;
4) 该格式未被收录到魔数数据库中。如果您发现了未收录的格式,欢迎反馈。

DOCX(以及XLSX、PPTX、ODT、JAR、APK等)文件本质上就是ZIP压缩包。它们都使用50 4B 03 04(即"PK")作为魔数。Microsoft Office 2007及之后的版本采用了Open XML格式,将文档内容(XML文件、资源等)打包在ZIP容器中。因此,仅通过魔数无法区分ZIP和DOCX——需要进一步检查压缩包内部是否包含特定的目录结构(如word/document.xml)来确认具体类型。

最常见图片格式的魔数:
PNG89 50 4E 47 0D 0A 1A 0A
JPEGFF D8 FF
GIF47 49 46 38(GIF8)
BMP42 4D(BM)
WebP52 49 46 46 ... 57 45 42 50(RIFF...WEBP)
TIFF49 49 2A 004D 4D 00 2A
ICO00 00 01 00

在不同操作系统上查看文件十六进制头部的方法:
Linux/macOS:使用xxd 文件名 | headhexdump -C 文件名 | head命令;
Windows PowerShell:使用format-hex 文件名 -Count 32
在线工具:使用本工具直接上传文件即可自动读取并显示头部字节。通常查看前16-32个字节就足够识别绝大多数文件格式。

RIFF(Resource Interchange File Format)是一种通用的多媒体容器格式,由Microsoft和IBM开发。RIFF文件以52 49 46 46("RIFF")开头,偏移8处标识具体的格式类型。常见的RIFF格式包括:
WAV音频(标识:WAVE)
AVI视频(标识:AVI )
WebP图像(标识:WEBP)
ANI动画光标(标识:ACON)
这种容器设计使得不同格式可以共享相同的文件结构框架,便于解析和扩展。