news 2026/10/22 1:20:11

File Signature(文件签名)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
File Signature(文件签名)

一、为什么改扩展名骗不过系统?

一般来说:文件后缀(扩展名)决定“谁去打开”,魔数(文件签名)决定“能不能打开”。两者不一致时,去打开的那个程序会发现自己读不懂文件内容,所以必然打不开。

层面依据作用
文件系统层扩展名决定默认打开方式、图标显示
应用程序层文件签名(Magic Number)实际解析文件内容

举例:

(1)在"SHA-256"的视角下,Hash是取自文件内容本身来决定的而非涵盖了文件名、扩展名等。

System metadataresidesoutsidethe file and can be alteredwithout impacting the contents of the file. Hashing the file hashes itscontents,not informationaboutthe file. That is, you only hash what’s stored inside the file, not its system metadata1.

系统元数据位于文件外部,可以在不影响文件内容的情况下进行更改。哈希文件会哈希其内容,而不是有关文件的信息。也就是说,您只对文件中存储的内容进行哈希运算,而不是对其系统元数据进行哈希运算。

(2)直击二进制,其同属于FF D8为SOI,FF D9为EOI,所以直接改扩展名是不会影响其本质内部实质二进制。

(3)以Linux环境下,使用file命令获取文件的MIME类型

  • file -b --mime-type,直接获取MIME类型。

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式2。

(4)Windows通过应用打开文件3,且需要看他能不能在这个情况下解析

  • [1]不能这么解析出来的

  • [2]点击查看还可询问,这取决于软件是在查看扩展名后看不看实际魔数之间是否有冲突

    • 原图JPG扩展名被改为png

    • 在软件过后,最后被检测并转换为是JPG FILE

二、文件签名

用途说明
安全检测扩展名伪造的文件
取证从损坏的存储中恢复文件
验证确保上传的文件与预期类型匹配
兼容性确定打开文件的正确应用程序

常见文件签名

格式扩展名十六进制签名偏移MIME 类型风险等级
PNG.png89 50 4E 47 0D 0A 1A 0A0x00image/png低
JPEG.jpg, .jpegFF D80x00image/jpeg低
defis_jpg(file_path:str)->bool:JPG_SIGNATURE=bytes([0xFF,0xD8])withopen(file_path,"rb")asf:returnf.read(2)==JPG_SIGNATURE


  1. A Hash of It | Ball in your Court ↩︎

  2. MIME 多用途互联网邮件扩展类型 ↩︎

  3. https://www.quora.com/How-does-Windows-know-which-application-to-use-to-open-a-file ↩︎

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 5:35:46

操作系统实验实战:从fork到信号量,六个实验打通并发编程

简介:这份西安电子科技大学操作系统实验报告面向高校计算机专业学生及操作系统课程学习者,聚焦Linux环境下进程管理、线程同步与进程间通信三大核心主题,帮助读者通过动手编程加深对操作系统原理的理解。资源包内含1个doc文档,约3…

作者头像 李华
网站建设 2026/10/19 9:09:35

【新版架构设计师】1~3章重点知识梳理

第 1 章 计算机组成与体系结构 计算机组成: 外设 (输入设备、输出设备、辅助存储器) 主机(主存储器、运算器、控制器) 控制器组成: 程序计数器 PC:存储下一条要执行指令的地址; 指令寄存器 IR:存储即将执行的指令; 指令译码器ID:对指令中的操作码字段进行分析解释; 时序…

作者头像 李华
网站建设 2026/10/16 3:31:54

普通人如何用DeepSeek大模型API实现文本批处理与检索增强问答

简介:这份PDF是清华大学新闻与传播学院新媒体研究中心推出的DeepSeek应用指南,面向希望借助大模型提升工作与学习效率的普通用户及开发者。内容围绕DeepSeek-R1开源推理模型展开,系统梳理其能力图谱,涵盖智能对话、文本生成、语义…

作者头像 李华
网站建设 2026/10/20 15:21:17

深度学习机制级原理:从梯度信噪比到流形对齐的工程化基础

简介:这是一本由机器学习权威Christopher M. Bishop与Hugh Bishop合著的深度学习前沿教材,面向高校研究生、AI研究人员及具备数学与编程基础的进阶学习者,系统构建从神经网络基础到Transformer、图神经网络等现代架构的理论框架。资源为单文件…

作者头像 李华
网站建设 2026/10/20 0:26:15

Linux常用命令大全怎么用?从man手册到实战排查的进阶路线

简介:这是一份汇聚 Linux 常用命令的 PDF 速查手册,面向刚接触 Linux 的初学者、日常需要命令行操作的开发与运维人员,帮助读者快速定位文件管理、磁盘空间、备份压缩、用户权限、网络操作、查找定位等高频场景的具体命令。资源共 1 个 PDF 文…

作者头像 李华
网站建设 2026/10/13 9:26:48

免费开源:三角铁--AI广告视频生成系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华