简体中文

图像和照片·图像元数据隐私工具

其中 PNG 文件隐藏元数据:tEXt、iTXt、zTXt 和 eXIf 块

· 工作原理

图像隐私 文件格式 浏览器处理

一个 PNG 块流,其中文本、EXIF 和时间块与图像和颜色块分开
原始 ToolAcre 矢量图

PNG 没有 EXIF 传统,因此人们认为它不携带任何内容,但它可以保存带有软件名称和注释的文本块、XMP 数据包,以及自 2017 以来的专用 eXIf 块。这篇文章解释了浏览器工具如何找到并删除它们。

为您的编辑软件命名的“干净”屏幕截图 - 为什么来自编辑器和屏幕截图工具的 PNG 可以携带的不仅仅是像素

屏幕截图在视觉上看起来很简单,而文本块则命名其作者或编写软件。 PNG 元数据并不局限于一种 EXIF 传统:文本、时间戳和 TIFF 形状的 EXIF 有效负载都可以占用单独的块。检查器会公开普通的文本内容,并在构建清理副本之前识别其他支持的元数据块。

PNG 一页剖析 — 八字节签名、长度类型数据 CRC 块布局,以及块名称的大小写如何将其标记为关键或辅助

PNG 以八字节签名开头,后跟包含长度、四字符类型、有效负载和 CRC 的块。图像尺寸位于 IHDR 中,压缩像素位于 IDAT 中,文件以 IEND 结尾。该标记结构使清理器可以删除整个元数据块并逐字复制每个幸存的块,因此它永远不需要解码像素或重新计算 CRC。

文本块:tEXt、zTXt 和 iTXt — Latin-1 关键字对、压缩文本、UTF-8 国际文本以及隐藏完整 XMP 数据包的“XML:com.adobe.xmp”关键字

tEXt 形式存储关键字和纯文本,因此读者可以显示两者。 zTXt包含压缩文本,iTXt携带国际文本;此实现列出了它们的关键字,但不解压缩它们的内容。尽管如此,两者都会作为整个块被删除,这避免了仅仅因为表无法显示未读值而假装不存在该值。

eXIf、tIME 和其余部分 — 2017 eXIf 块携带 TIFF 结构的 EXIF 块、tIME 修改标记以及哪些辅助块影响显示而不是隐私

eXIf 块携带一个 TIFF 块,该块可以包含在 JPEG 或 WebP 中解析的相同相机、时间和 GPS 目录。 tIME 块记录文件上次写入的时间并以时间戳形式报告。其他辅助块不会自动私有:它们的效果很重要,因此分类是基于记录的支持矩阵而不是基于块是否是可选的。

stripper 如何决定删除什么 — 删除元数据块,同时保留 IHDR、PLTE、IDAT、IEND 以及控制颜色和透明度的块

剥离器删除 eXIf、tEXt、zTXt、iTXt 和 tIME。它保留 gAMA、cHRM、sRGB 和 iCCP 颜色信息、pHY 密度和渲染块(如 tRNS、bKGD 和 sBIT),因为删除它们可能会改变显示。这是一个有意设定的边界:清理意味着删除指定的元数据类别,而不是删除每个辅助块。

工作示例:检查导出的 PNG — 列出它在剥离之前和之后携带的内容并确认图像解码相同

对于导出的 PNG,首先检查字段表:可读的作者文本值直接出现,而压缩文本仅按关键字出现。删除后,报告会列出每个删除的类型,清理器可以重新读取输出。实现测试还对比了前后的IDAT,需要相同的字节,证明并没有通过重新压缩图片来实现更小的文件。

这不包括什么 - APNG 动画和色彩管理决策;工具页面准确记录了它删除的块类型

动画块和颜色配置文件超出了隐私阅读器的详细解释范围,并且颜色配置文件本身可以携带描述字符串,即使它被保留。该工具也不会检测 IDAT 中隐藏的信息或支持每个图像容器。使用已删除和保留的列表作为范围的确切说明,而不是将空元数据表视为通用许可。

要点:PNG 元数据是可选的,因此它可以继续 — 图像元数据隐私工具检查并剥离 PNG 元数据,而无需触及压缩图像数据

PNG 元数据是可选的容器材料,因此可以删除支持的块而无需重建映像。安全的工作流程是检查、删除、验证和下载新的无元数据副本,同时保留原始副本。这为设计者提供了可预测的结果:文本、EXIF 和写入时块离开;颜色、透明度、密度和压缩图像数据保留。