offzip 未检测到 Zlib header

Zlib header not detected by offzip

我正在查看一个包含一些 zlib 压缩块的文件,其中一些被 Offzip 检测为有效,一个无效:

0x 78 01 F3 48 --valid and has a matching adler32 hash
0x 78 01 03 00 --invalid
0x 78 01 63 64 --valid not sure about the hash

我认为只有前三个字节表示压缩方法和标志,所以我不确定为什么没有检测到第二个条目。它看起来确实像一个 zlib 数据块,但我有点迷路

如有任何意见或建议,我们将不胜感激

这些都是 zlib 流的有效开始。当然,其中 none 是有效的整个 zlib 流,因为最小 zlib 流长度是八个字节。

78 01 03 00 有一个有效的 zlib header、78 01 和一个有效且实际上完整的 deflate 流 03 00。这是一个空的固定代码 deflate 块,标记为最后一个块。如果您在后面加上 00 00 00 01(零字节的 Adler-32 检查值),那么您就有了一个完整且正确的 zlib 流。