上传的 PNG 文件会被保存到服务器吗?
不会。PNG 块检查器的所有解析操作均在浏览器本地完成,采用纯前端 JavaScript 实现。文件数据不会被上传到任何服务器,也不会在解析完成后保留在浏览器内存中。您可以放心分析包含敏感信息的 PNG 文件。
为什么某些块被标记为可疑?
工具会将以下情况标记为可疑:CRC 校验失败的块(数据可能损坏或被篡改)、IEND 块之后的额外数据(不符合 PNG 规范)、以及无法识别的私有块类型。可疑标记并不一定意味着文件存在问题,但建议用户进一步检查这些块的具体内容。
IDAT 块数量很多是异常现象吗?
不是。IDAT 块存储经过压缩的像素数据,编码器通常将数据分割为多个块(每块约 32KB 至 64KB)以便流式处理。一张较大的 PNG 图片可能包含数十甚至数百个 IDAT 块,这是完全正常的现象。只有当 IDAT 块的分布模式明显异常(如块大小极不均匀)时才需要关注。
tEXt 块中的内容看不懂怎么办?
tEXt 块中的内容以键值对形式存储,键名通常是英文标识(如 Author、Description、Software 等),后面的值是对应的文本信息。如果遇到乱码,可能是使用了非 UTF-8 编码。工具会尝试自动解码,对于无法识别的编码会显示原始十六进制数据供参考。
IEND 之后的数据是如何被添加的?
PNG 规范要求 IEND 是文件的最后一个块,但许多图片编辑器和操作系统在读取 PNG 文件时会在遇到 IEND 后停止解析。因此,开发者可以在 IEND 之后追加额外数据而不影响图片的正常显示。这种手法常被用于在 PNG 文件中嵌入隐藏信息,包括加密数据、压缩包甚至其他类型的文件。
工具支持分析非标准的 PNG 文件吗?
工具会尽力解析所有 PNG 文件,包括包含非标准私有块的文件。对于无法识别的块类型,工具会将其标记为未知块并显示原始数据。但请注意,严重损坏或格式严重偏离规范的文件可能无法被完整解析。
如何判断 PNG 文件是否被篡改过?
可以通过以下几个方面判断:检查是否有块的 CRC 校验失败、查看 IEND 之后是否存在额外数据、确认 IHDR 中的尺寸信息是否与实际图片匹配、检查 tIME 时间戳是否合理。如果发现多个异常信号,建议与原始文件进行对比分析。
zTXt 和 iTXt 块的内容能被解码吗?
可以。zTXt 块使用 zlib 压缩,工具会自动解压并展示文本内容。iTXt 块支持 UTF-8 编码和可选压缩,工具同样会自动处理。解码后的内容以键值对形式展示,用户可以直接阅读其中的文本信息。
UD5工具箱