什么是文件类型识别器?

文件类型识别器通过读取文件的二进制签名(魔术字节)来检测文件的真实格式,而非仅依赖扩展名。适用于识别被重命名或无扩展名的文件,以及验证文件是否与声称的格式一致。

拖入一个或多个被改名或无扩展名的文件,页面会读取开头字节(即所谓的魔术数),再将这一指纹与涵盖 PNG、JPEG、HEIC、AVIF、PDF、ZIP、MP3、MP4、ELF 等数十种格式的库进行比对。基于 ZIP 的文件会被深入查看,以揭示真实格式(DOCX、XLSX、APK、EPUB、JAR、OpenDocument)并列出其成员。已知的勒索软件扩展名和文件头标记会触发醒目的警告,同时满足两种格式的文件头会被标记为多语义文件。每条结果都会显示真实的 MIME 类型、规范扩展名、识别可信度分数、完整的 SHA-256 指纹以及文件头的十六进制+ASCII 转储——还可选择导出 TXT 或 JSON 报告,全部在你的设备上计算,不上传任何内容。

使用方法

  1. 第一步——拖入或选择一个需要识别类型的文件。
  2. 第二步——工具读取文件的二进制头信息,并与已知签名数据库进行匹配。
  3. 第三步——查看检测到的MIME类型、文件扩展名和格式说明。

何时使用

  • 下载下来名为 report.txt 的文件打不开纯文本,要弄清到底是什么。
  • 邮件附件扩展名可疑或缺失,打开前先做安全甄别。
  • 导出的文件是否真是你要的格式(比如真正的 JPEG,不是改名的 BMP)。

结果

同事发来一个名为“report”但没有扩展名的文件:拖入后发现它实际上是application/pdf格式——重命名为report.pdf即可正常打开。

常见问题

为什么不能直接看扩展名?
扩展名很容易被无意或刻意修改。叫 photo.jpg 的文件,实际可能是 PNG、PDF,甚至是 ZIP 压缩包。Magic number 写在字节里,几乎总是反映文件真正的格式。
能识别所有格式吗?
覆盖 50 多种常见格式——图像、视频、音频、压缩包、文档、可执行文件、字体和数据库。冷门或私有格式会显示通用的 application/octet-stream,这时下方的十六进制头部还是可以用于手动查询。
能区分 .docx 和 .xlsx 吗?它们底层都是 ZIP。
可以。当外层签名是 ZIP 时,工具会进入压缩包,查找像 word/document.xml(DOCX)、xl/workbook.xml(XLSX)、ppt/presentation.xml(PPTX)、AndroidManifest.xml(APK)、META-INF/container.xml(EPUB) 或 JAR 清单这样的关键成员。结果会同时给出外层格式(ZIP)和真实内层格式(例如 Word 文档),并附上压缩包主要成员的列表。
Magic bytes 和哈希值或校验和是一回事吗?
并不完全相同。哈希值概括整个文件,而魔术字节只是充当格式标识的开头几个字节。两张不同的 PNG 图片拥有相同的魔术数,哈希值却完全不同。本工具两者都会显示:标明格式的魔术字节,以及为该具体文件留下指纹的完整 SHA-256 哈希。
文件会离开我的设备吗?
不会。类型识别只读取开头几百个字节,并直接在本页面进行匹配。计算 SHA-256 指纹时会在本地读取整个文件,因此超大文件需要片刻,但任何内容都不会被复制或发送到任何地方——每个字节都留在你的设备上。

相关工具