Заголовок Zlib не обнаружен в разархивированном виде - PullRequest
0 голосов
/ 19 ноября 2018

Я просматриваю файл, который содержит несколько сжатых 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, но я немного растерялся

Любой вклад или совет будет принята с благодарностью

1 Ответ

0 голосов
/ 20 ноября 2018

Это все действительные потоки zlib.Конечно, ни один из них не является действительными целыми потоками zlib, поскольку минимальная длина потока zlib составляет восемь байтов.

78 01 03 00 имеет действительный заголовок zlib, 78 01, и действительный и фактически полный дефлятstream, 03 00. Это пустой блок с фиксированными кодами, помеченный как последний блок.Если вы выполните это с 00 00 00 01 (контрольное значение Adler-32 для нулевых байтов), то у вас будет полный и правильный поток zlib.

...