Заголовок Zlib (adler32) 1.1.3 - Кратность 31

Тема в разделе "Общие вопросы по С и С++", создана пользователем kilometrogram, 21 янв 2012.

  1. kilometrogram

    kilometrogram Гость

    Привет, столкнутлся с простой, но в тоже время непонятной задаче связанной с zlib и без помощи не могу разобраться. В первую очередь интересует ряд весьма простых вопросов:

    1. зачем нужен, что делает заголовок в 2 байта в zlib (алгоритм adler32) версия 1.1.3?
    2. один, возможно умный, человек напаковал кучу файлов zlib (adler32) версией 1.1.3 таким образом, что все заголовки в 2 байта получаются кратны 31 - что означает это магическое число, как он смог его получить, это какой-то конкретный тип сжатия?
    3. мне в руки таки попались 2 файла, один сжатый (с выше описанными, для меня, чудесами) и второй распакованный - как определить какие опции применялись при сжатии исходного файла, чтобы в точности получить запакованный с заголовком кратным 31?

    p.s. описание zlib 1.1.3 я в интернете нашел, но оно не ответило на вышеуказаннае вопросы http://koeln.ccc.de/archiv/drt/zlib-manual.html , ну и использование zlib тоже смотрел, не нашел ничего полезного в этих вопросах http://zlib.net/zlib_how.html
     

    Вложения:

    • файлы.rar
      Размер файла:
      530 байт
      Просмотров:
      5
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    А с чего ты вообще взял, что тот LUA-скрипт что ты приложил, был сжат при помощи zlib ?
     
  3. kilometrogram

    kilometrogram Гость

    на то две причины:

    1. файл был распакован (не мной) с помощью zlib (adler32) 1.1.3 и тот кто его распаковывал сообщил именно это, к сожалению связаться с ним больше не удается

    2. приложение, которое использует вышеуказанный сжатый файл содержит zlib.dll версии 1.1.3
     
  4. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Просто интересно то, что файл запакованный при помощи zlib, в начале должен иметь байты 1F 8B, а твой имеет 78 9С ...
    Хотя возможно в целях безопасности программа изменяет первые байты при сохранении файла. У тебя есть исходники приложения которое сжало этот файл?
     
  5. kilometrogram

    kilometrogram Гость

    к сожалению, нету, иначе тогда бы я так не мучался)

    я смог сделать простой вариант использования zlib в консольном режиме, странно то, что при запаковке файла в конец дописываются буквы Н (русские, если открыть потом сжатый файл notepad++) или байты CD CD CD CD..., их количество зависит от размера CHUNK, странно, ведь их не должно быть

    попытался распаковать тот исходный сжатый файл, распаковка отваливается, хотя в распакованном файле не хватает лишь двух строк в конце, а остальное распаковалось верно
     
Загрузка...

Поделиться этой страницей