[help] Нужно распаковать zlib блок

Тема в разделе "WASM.BEGINNERS", создана пользователем HatoL, 20 апр 2008.

  1. HatoL

    HatoL New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    9
    Вопрос не по ассемблеру, но я не знаю просто куда обратиться...

    В документации к типу файла присутствуют такие строчки:

    To decompress one block with zlib:
    1. call 'inflate_init'
    2. call 'inflate' with Z_SYNC_FLUSH for the block

    Скажите, что я должен делать.
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    скачать zlib
    вызвать inflate_init
    потом вызвать inflate с параметром Z_SYNC_FLUSH
     
  3. HatoL

    HatoL New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    9
    Поподробнее пожалуйста. Я скачал zlib, там имеется библиотека (DLL), но она предназначена для программистов, которые собираются использовать zlib в своих проектах. Есть папка /test, но там 4 файла и все работают через командную строку.
     
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    ну так в этой библиотеке и находятся необходимые функции
     
  5. HatoL

    HatoL New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    9
    просто я не программист. Конечно могу купить книгу по C++ и изучить этот язык (благо навыки программирования имеются), но на это уйдет много времени. Есть ли уже откомпилированные приложения (что-то типа Zlib GUI) для работы с Zlib ?
     
  6. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    есть откомпилированные программисты, которые могут за отдельную плату помочь вам решить вашу проблему
     
  7. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    а файл-то какой? у него имя есть?
     
  8. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    HatoL
    Попробуй натравить на файл STUNS.exe(STupid UNcompreSsor).
    Ищи через www.google.com
     
  9. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Может проще pkzip\pkunzip, winzip, gzip ?
     
  10. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Vov4ick
    Эти проги требуют правильный заголовок, а тов. не программист.

    HatoL
    Zlib GUI готового в принципе не должно быть. Zlib предназначена для программистов,
    которым нужен упаковщик и которые ценят свое время.
    Кстати в моей версии zlib входа inflate_init нет, а есть inflateinit который работает с потоком(stream).
    Поэтому тебе придется :
    1) разобраться как работать с потоками в ассемблере или изучить Си
    2) научится подключать DLL на ассемблере, но можно zlib.lib статический подключить.
    3) решить свою задачу
     
  11. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    я бы предложил сделать dump этого блока памяти в файл.
    а затем просто натраваить на этот файл твой uncompress
     
  12. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    ltshck
    Так нету у HatoL никаких программ, только DLL. Если он не программист, то STUNS - это решение.
    Но готовая утилита много мусора выдает. Мне пришлось ее слегка править.
     
  13. HatoL

    HatoL New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    9
    Запускал stuns без параметров сжатия (т.е. просто stuns [-ИмяФайла]), выдал какие-то файлы с непонятными названиями (на данные в файле вроде не похожи), суммарный объем которых НАМНОГО меньше, чем сжатых файлов (получилось 16 байт, размер сжатого блока - 4414 байт). Т.е. это не то.

    P.S. давайте я выложу сюда файл, который мне надо распаковать, а вы, если захотите, поможите мне его разжать. Этот файл и есть тот блок, про который говорится в первом посте. Я удалил из файла все лишнее, т.е. он не содержит ни заголовка, ни CRC, это просто поток zlib данных.
     
  14. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Зачем?
     
  15. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    Странно что никто не вспомнил про WinHex. Он умеет разжимать zlib: Edit->Convert->zlib inflate (32kb target). Собственно результат в аттаче.
     
  16. HatoL

    HatoL New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    9
    там не заголовок архива, там заголовок, характерный для данного формата файла, т.е. мусор (там хранился размер сжатых данных, размер расжатых данных и кол-во байт, которое содержится в блоке)

    спасибо, roman_pro, расжато было все правильно, только у меня нету zlib в Edit -> Convert почему-то...
     
  17. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    В стандартной поставке Делфи 7 есть компоненты для работы с ZLib. Примеров в нете валом.
     
  18. HatoL

    HatoL New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2008
    Сообщения:
    9
    Все, скачал новый WinHex, теперь там есть возможность распаковывания zlib