Вопрос не по ассемблеру, но я не знаю просто куда обратиться... В документации к типу файла присутствуют такие строчки: To decompress one block with zlib: 1. call 'inflate_init' 2. call 'inflate' with Z_SYNC_FLUSH for the block Скажите, что я должен делать.
Поподробнее пожалуйста. Я скачал zlib, там имеется библиотека (DLL), но она предназначена для программистов, которые собираются использовать zlib в своих проектах. Есть папка /test, но там 4 файла и все работают через командную строку.
просто я не программист. Конечно могу купить книгу по C++ и изучить этот язык (благо навыки программирования имеются), но на это уйдет много времени. Есть ли уже откомпилированные приложения (что-то типа Zlib GUI) для работы с Zlib ?
есть откомпилированные программисты, которые могут за отдельную плату помочь вам решить вашу проблему
Vov4ick Эти проги требуют правильный заголовок, а тов. не программист. HatoL Zlib GUI готового в принципе не должно быть. Zlib предназначена для программистов, которым нужен упаковщик и которые ценят свое время. Кстати в моей версии zlib входа inflate_init нет, а есть inflateinit который работает с потоком(stream). Поэтому тебе придется : 1) разобраться как работать с потоками в ассемблере или изучить Си 2) научится подключать DLL на ассемблере, но можно zlib.lib статический подключить. 3) решить свою задачу
я бы предложил сделать dump этого блока памяти в файл. а затем просто натраваить на этот файл твой uncompress
ltshck Так нету у HatoL никаких программ, только DLL. Если он не программист, то STUNS - это решение. Но готовая утилита много мусора выдает. Мне пришлось ее слегка править.
Запускал stuns без параметров сжатия (т.е. просто stuns [-ИмяФайла]), выдал какие-то файлы с непонятными названиями (на данные в файле вроде не похожи), суммарный объем которых НАМНОГО меньше, чем сжатых файлов (получилось 16 байт, размер сжатого блока - 4414 байт). Т.е. это не то. P.S. давайте я выложу сюда файл, который мне надо распаковать, а вы, если захотите, поможите мне его разжать. Этот файл и есть тот блок, про который говорится в первом посте. Я удалил из файла все лишнее, т.е. он не содержит ни заголовка, ни CRC, это просто поток zlib данных.
Странно что никто не вспомнил про WinHex. Он умеет разжимать zlib: Edit->Convert->zlib inflate (32kb target). Собственно результат в аттаче.
там не заголовок архива, там заголовок, характерный для данного формата файла, т.е. мусор (там хранился размер сжатых данных, размер расжатых данных и кол-во байт, которое содержится в блоке) спасибо, roman_pro, расжато было все правильно, только у меня нету zlib в Edit -> Convert почему-то...