0

Тема: Архивы ZLIB

Архивы ZLIB

Небольшое руководство с описанием формата Zlib-архивов, методике их ручного поиска, извлечения и замены в файлах приложений, а также применение различных утилит, облегчающих работу с таким типом данных. Документ написан по материалам форума BlackStar Localizations Studio. Информация обновлена и дополнена. Рассчитана на широкий круг пользователей, которые занимаются локализацией ПО.

Показать / Скрыть текст

Скачать руководство (формат PDF)

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0

(24-01-2021 20:19:17 отредактировано WYLEK)

Re: Архивы ZLIB

Во-первых, хорошо, что ты написал статью, не нужно мне теперь писать, я буду просто дополнять Архивы ZLIB

А вот и дополнения:
------------------------

1. Касаемо сигнатуры. Третье число после 78 DA (9C, 01) абсолютно ничего не значит. Первое число - сигнатура ZLIB архива, второе число - степень сжатия (одна из трех). И точка. Расширения и тип файлов ничего не значат - в архив не записывается даже название файла, куда уж о типе файла говорить... То, что часто попадается совпадение, такое как 78 DA EC или 78 DA ED, так это из-за суммирования начальных байт, у разных файлов оно разное. Например, в той же Streaming Audio Recorder попался упакованный DLL файл с сигнатурой 78 DA D4. Так что нужно искать сигнатуру только по первым 2 байтам.

2. Для упрощения поиска ZLIB архивов внутри файлов нужно перед сигнатурой, например 78 DA, приписывать еще и 00 - будет 00 78 DA. Почему? Потому что между блоками архивов должно быть разделительное пространство. Хотя данное предположение является теорией; может даже встретиться такое западло как FF FF 78 DA. В общем, надо отрабатывать разные варианты.

Еще не помешало бы добавить сюда скрины по работе в WinHex с этим архивом. Не все же знают, что найдя нужную сигнатуру архива не нужно искать его конец (архива), а можно откусить лишний кусок EXE файла и впихнуть в отдельный файл. Потом этому же файлу необходимо присвоить какое-нибудь расширение, чтобы программа Simplyzip могла с ним нормально работать.

Рейтинг поста: 0

Re: Архивы ZLIB

Еще не помешало бы добавить сюда скрины по работе в WinHex с этим архивом. Не все же знают, что найдя нужную сигнатуру архива не нужно искать его конец (архива), а можно "откусить" лишний кусок EXE файла и впихнуть в отдельный файл. Потом этому же файлу необходимо присвоить какое-нибудь расширение, чтобы программа Simplyzip могла с ним нормально работать.

Я первый раз слышу biggrin  с этого момента подробнее....пожалуйста... friday 

Архивы ZLIB

Рейтинг поста: 0

(24-01-2021 20:21:45 отредактировано WYLEK)

Re: Архивы ZLIB

до определённого места. И место это, сжатие до размера. Размер изображения эффекта не дал.

Сокращал перевод, лишнее забивал нулевыми байтами. Но результата нет.
Обращай внимание на размер создаваемого локализованного файла. Если он больше размера оригинального файла, то никоим образом не получится получить новый размер архива меньше исходного. Например, я работал с версией Streaming Audio Recorder v.2.8. Размер оригинального файла программы - 2 225 152 байт. После описанных выше действий в редакторе Radialix, размер локализованного файла у меня получается 2 163 712 байт. Как видишь новый размер меньше оригинального (за счет замены двух изображений на оптимизированные!), соответственно и архив получится меньше оригинального.

Очевидно я чего-то не догоняю, как добиваться желаемого размера.

Если ты работаешь в Radialixe, то в нем есть небольшой нюанс: те ресурсы, которые не будут переводиться или изменяться, необходимо переключить в режим только для чтения.

Проведи небольшой эксперимент:
1) Создай новый проект локализации файла Streaming-Audio-Recorder.exe. Radialix выдаст огромный список ошибок (по крайней мере у меня это так).

Показать / Скрыть текст

Архивы ZLIB

Ничего не переводи, а создай локализованный файл. Посмотри размер полученного файла. Например у меня получился 2 378 240 байт, т.е. больше оригинального, а мы еще ничего не переводили.

2) Теперь в менеджере ресурсов установи всем режим Только для чтения, кроме ресурсов StreamingAudioRecorder.Resources.resources, StreamingAudioRecorder.frmAbout.resources (в них находятся изображения), StreamingAudioRecorder.help-xp.html (документ HTML).

Показать / Скрыть текст

Архивы ZLIB

Ресурс #US - это жестко-закодированные строки, где у каждой из них признак Только для чтения установлен индивидуально. Сохрани проект и закрой редактор полностью.

3) Снова запусти Radialix и открой только что созданный проект локализации. Ошибок быть не должно.

Показать / Скрыть текст

Архивы ZLIB

Ничего не переводи, создай локализованный файл. Его размер должен быть в пределах оригинального, например у меня получился 2 230 784 байт. Т.е. всего лишь на 5 Кб больше оригинального.

4) Если теперь заменить те два изображения на оптимизированные и создать новый локализованный файл, то его размер будет меньше оригинального, например у меня - 2 163 712 байт (это зависит от суммарного размера оптимизированных изображений). После этого можно переводить документ HTML и необходимые жестко-закодированные строки.

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0

Re: Архивы ZLIB

Leserg, насчет 00 перед сигнатурой - то была просто теория. И ты ее благополучно похерил biggrin  . Пример привел просто убойный. Так что проблема в размышлении отпала - нужно пробивать и те, и эти варианты.
А вот насчет

А вот здесь я не согласен. Открой в НЕХ-редакторе любой файл (документ, изображение, DLL-ку и т.д.) и задай поиск поиск по байтам 78 DA.

с тобой тоже не согласен biggrin  . Приведу тоже убойный пример biggrin 
Вот возьми тот же Streaming Audio Recorder, найди и распакуй по своему методу ZLIB архивы. Если будешь искать сигнатуру по трем байтам из своей таблицы, то недосчитаешься одного архива. Вот возьми распакуй и отпишешься здесь tongue 

Рейтинг поста: 0

Re: Архивы ZLIB

Вот возьми распакуй и отпишешься здесь


Та я ж не против, все прекрасно вижу. Тема то не обкатанная еще, новая, пахать не перепахать. Просто надо добавить эту сигнатуру как частный случай и пополнять базу в дальнейшем. Другого варианта пока предложить не могу. wink 

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0

Re: Архивы ZLIB

Та я ж не против, все прекрасно вижу


Да не в том суть, просто если ориентироваться на 3 байта сигнатуры, то можно таких "частных случаев" наковырять такое количество, что мама не горюй...

Тема то не обкатанная еще, новая, пахать не перепахать.


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

Рейтинг поста: 0

Re: Архивы ZLIB

Пока добавил сигнатуру в таблицу.

просто если ориентироваться на 3 байта сигнатуры, то можно таких "частных случаев" наковырять такое количество, что мама не горюй...


Ладно, тогда закрываю тему, т.к. некомпетентен в этом вопросе.

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0

Re: Архивы ZLIB

Leserg,  да ты что!!! fear  И не вздумай. Кому понадобится - так пускай здеся обсуждают вопрос. Материал уникальный, будет дополняться по мере приобретения опыта в данном деле tongue  .

Рейтинг поста: 0

(04-02-2021 23:54:15 отредактировано WYLEK)

Re: Архивы ZLIB

Программа TrIDNet определяет дескриптор zlib
Код? <Pattern>            <Bytes>1F8B080000000000000B</Bytes>            <Pos>0</Pos>        </Pattern > 
Вместо ASCII   Pos ?
Вот скрин из программы



После архивации программой от Leserg показывает сжатие и что внутри

Рейтинг поста: 0

(04-02-2021 23:54:42 отредактировано WYLEK)

Re: Архивы ZLIB

Обновил информацию в шапке. smile 

pp0312, Программа TrIDNet немного не из той оперы. Во-первых, сигнатура 1F8B080000000000000B - это архив GZIP (GNU ZIP), который хоть и разработан авторами архиватора Zlib, но имеет совершенно другую структуру данных. Во-вторых, программа не показывает что внутри исследуемого файла, а пытается методом сопоставления с базой сигнатур различных форматов определить возможный тип файла. smile 

У нас задача другая: определение наличия в исследуемом файле запакованных Zlib-данных, их извлечение, распаковка, перевод (при необходимости), а затем обратная операция по внедрению в файл модифицированных данных. biggrin 

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0

Re: Архивы ZLIB

Новый Zlib-архив, размер файла - 908 872 байт.


Ребята, я хочу вернуться к Zlib (программа Streaming Audio Recorder). Распаковать вроде-как по написанному получается. Но не получается получить архив переведенного файла меньшего размера, чем оригинальный. В итоге архив невозможно заменить в файле программе на новый. Как это сделать?

Nexus написал, что файлы достаточно распаковать и кинуть в папку с программой. Да, так работает. Но это исключительный случай. С SysTracer такое не прокатывает. Нужно именно заменить архив на новый. Но в обеих случаях, хоть одно слово переведешь и после упаковки архив больше оригинального. Horna там писал о мастерстве, но не написал как этого добиться (да и пропал куда-то, с февраля не появлялся, в личку не отвечает) :sad: 

А можно подробнее, что вы там переводили и как вы получили архив меньшего размера, чем оригинальный? Если просто взять распаковать архив, а потом тут же запаковать полученный файл обратно, то новый архив получается больше. wacko 

Рейтинг поста: 0

Re: Архивы ZLIB

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

Значит надо в переводимом файле что-то кастрировать - или уменьшать битность иконок в ресурсах, или упрощать русский перевод, что не есть гуд. В общем, надо как-то выкручиваться. Можно еще через отладчик в конце файла добавить пустые секции и впихнуть туда архив, но это далеко не все умеют, да и геморрно все это. Это, конечно, хорошо с Streaming Audio Recorder вышло - вытащил файлы и впихнул в паку, заработало - ну и ладно biggrin  . В SysTracer так дело не прокатило - выкинули нафиг описание лицензии, сжали и впихнули - заработало! С XLtoEXE так номер не прокатил вообще, там надо еще что-то придумать, чтобы прога нормально функционировала... Вот так вокруг "бедовых" программ и вьемся - что ни перевод, то изысканная головоломка, сегодня ты локализаторщик, а завтра ты уже хакер - долбишь упрямую утилиту и зубилом, и пилой режешь, лишь бы она работала так, как тебе нужно...
Кстати, интересный экземпляр этот XLtoEXE. Запакована сама в себя, при запуске разархивируется в папку TEMP и оттуда уже выполняется. Для перевода пришлось ее хакнуть и прикрутить ZLIB библиотеку, так как копия утилиты отказывалась работать, чего только не придумают...

Рейтинг поста: 0

Re: Архивы ZLIB

В SysTracer так дело не прокатило - выкинули нафиг описание лицензии, сжали и впихнули - заработало!


Ах вот как ларчик открывается! agree 
Теперь надо смотреть, что в Streaming Audio Recorder выкинуть, уменьшить, упростить? Это блин не локализация получается, а тюнинг... biggrin 

Рейтинг поста: 0

Re: Архивы ZLIB

На опенсорсе всегда нужно указывать автора.


Недолго думая, я полез на форумы по программированию и раскопал исходный код простейшего архиватора с использованием библиотеки Zlib. Автор программы Andrea Russo, Italy, 2005 год.

Рейтинг поста: 0

(09-02-2017 15:17:20 отредактировано WYLEK)

Re: Архивы ZLIB

всегда нужно указывать автора

Автор программы в новости указан и поверьте, не задним числом. К тому же, если вы посмотрите свойства файла, то я честно вписал туда авторские права. [img][url=httpwylek.ru/sml/smiles/002.gif[/img]

И сайт с размещением этих сырков.

Так как у нас сайт не занимается вопросами программирования, то я не счел нужным добавлять ссылку на исходный код программы. Но если нашим читателям это интересно, то исходники утилиты я брал здесь: TorryNet. Когда материал будет полностью завершен, я постараюсь указать все источники информации.
Моя вина состоит в том, что я немного переработал интерфейс программы, перевел её на русский и добавил ссылку на этот сайт. Если нашим пользователям нужна оригинальная версия программы, то я могу выложить и её.

А можно подробнее, что вы там переводили и как вы получили архив меньшего размера, чем оригинальный?

Я переводил только то, о чем спрашивал пользователь vaka61 ниже.

Показать / Скрыть текст

Архивы ZLIB

Работал в шаблоннике Radialix. При этом, страничку HTML, которая отображается в указанном окошке, я сохранил в отдельный файл и переводил в текстовом редакторе, затем загрузил её обратно в редактор.
Касаемо размера файла. В каждом конкретном случае нужно проанализировать ресурсы программы. В частности в первую очередь я обращаю внимание на файлы изображений. Разработчики не уделяют должного внимания их оптимизации. К примеру, в программе Streaming Audio Recorder есть изображение, которое используется в качестве фонового в окне "О программе":

Показать / Скрыть текст

Архивы ZLIB

Это изображение в формате PNG и размером 75 750 байт. Причем, этих изображений в ресурсах программы почему-то два! Если выполнить оптимизацию этого изображения, например с помощью программы  RIOT, то мы получим файл размером 57 849 байт. С учётом замены двух изображений суммарная экономия получается 35 802 байт. Этого более чем достаточно, чтобы после создания локализованного файла и его последующей архивации в Zlib, размер полученного архива получился меньше оригинального, что позволило безболезнено выполнить его замену в оригинальном файле. Архивы ZLIB

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0

Re: Архивы ZLIB

Leserg, скажи, а ты вот упоминал о XLtoEXE, ты ее переводил? Как умудрился перевести, обратно сжать и втиснуть назад переведенный файл? Что-то вот размер никак не получается уменьшить... Просто интересно.

Рейтинг поста: 0

Re: Архивы ZLIB

В общем, из статьи “Поиск и извлечение Zlib-данных” вреди бы всё понятно. Перехожу к практическим действиям, и тут всё идёт как по маслу, до определённого места. И место это, сжатие до размера. Размер изображения эффекта не дал. Сокращал перевод, лишнее забивал нулевыми байтами. Но результата нет. Очевидно я чего-то не догоняю, как добиваться желаемого размера. Nexus пишет. (Это, конечно, хорошо с Streaming Audio Recorder вышло - вытащил файлы и впихнул в паку, заработало - ну и ладно. Можно еще через отладчик в конце файла добавить пустые секции и впихнуть туда архив, но это далеко не все умеют, да и геморрно все это.) Может об этом статейку забабахали, лишним не будет. Учиться так, учиться.

Рейтинг поста: 0

(09-02-2017 16:01:00 отредактировано WYLEK)

Re: Архивы ZLIB

Leserg, скажи, а ты вот упоминал о XLtoEXE, ты ее переводил?


Да, я её переводил.

Показать / Скрыть текст

[center]Архивы ZLIB

[/center]

Цитата Nexus" data-quote="1">Как умудрился перевести, обратно сжать и втиснуть назад переведенный файл? Что-то вот размер никак не получается уменьшить...
Архивы ZLIB Все очень просто. В данном случае не нужно морочить голову с размером получаемого Zlib-архива. Почему? Потому что Zlib-данные находятся в конце файла и после них идет всего лишь 16 байт, где прописан размер файла, который находится в архиве, т.е. 331776 байт. Поэтому просто вставляем новый архив на место старого, а в конце добавляем эти 16 байт.

<u>Мои действия для перевода этой программы:</u>
1) В оригинальном файле программы по сигнатуре 78DAEC нашел архив и сохранил его в отдельный файл.
2) Распаковал содержимое архива и узнал что это за файл.
3) Программа оказалась написана на Visual Basic 5/6.0. Поэтому дизассемблировал её до исходного кода (чтобы получить исходный код форм).
4) В компиляторе Microsoft Visual Basic 6.5 перевел все формы программы и скомпилировал программу-пустышку. Она запускается и отображает диалоговые формы программы, но ничего функционально не делает. Таким образом я проверяю, как ложится перевод в интерфейсе.
5) После завершения отладки интерфейса, начинается работа в НЕХ-редакторе. Из программы-пустышки переношу НЕХ-код форм в оригинальный файл программы.
6) Затем начинается работа по переводу жестко-закодированных строк. Благо в этой программе оказалось два языка: английский и испанский. Так как испанский язык нигде в программе не активируется, то если переведенные строки русский не помещались на место английских, я их переносил на место испанских и корректировал соответствующим образом смещения.
7) Когда локализация была готова, запаковал файл обратно в Zlib-архив. Новый архив получился больше исходного, но так как он находится в конце файла, то нет нужды предпринимать меры по его уменьшению.
8) Так как программа каким-то образом проверяет размер архивных данных, и если они не соответствуют действительности, то отказывается работать. Поэтому выполнив анализ НЕХ-кода, я обратил внимание на интересную запись:

Показать / Скрыть текст

Архивы ZLIB

Если сложить этим данные (36864 + 80722 + коррекция), то получится размер Zlib-архива. Корректируем эти данные с учётом нового размера архива, сохраняем и... программа великолепно работает.

Вот и все.

до определённого места. И место это, сжатие до размера. Размер изображения эффекта не дал.


Сокращал перевод, лишнее забивал нулевыми байтами. Но результата нет.
Обращай внимание на размер создаваемого локализованного файла. Если он больше размера оригинального файла, то никоим образом не получится получить новый размер архива меньше исходного. Например, я работал с версией Streaming Audio Recorder v.2.8. Размер оригинального файла программы - 2 225 152 байт. После описанных выше действий в редакторе Radialix, размер локализованного файла у меня получается 2 163 712 байт. Как видишь новый размер меньше оригинального (за счет замены двух изображений на оптимизированные!), соответственно и архив получится меньше оригинального.

Очевидно я чего-то не догоняю, как добиваться желаемого размера.


Если ты работаешь в Radialix"e, то в нем есть небольшой нюанс: те ресурсы, которые не будут переводиться или изменяться, необходимо переключить в режим "только для чтения".

<u>Проведи небольшой эксперимент:</u>
1) Создай новый проект локализации файла Streaming-Audio-Recorder.exe. Radialix выдаст огромный список ошибок (по крайней мере у меня это так).

Показать / Скрыть текст

Архивы ZLIB

Ничего не переводи, а создай локализованный файл. Посмотри размер полученного файла. Например у меня получился 2 378 240 байт, т.е. больше оригинального, а мы еще ничего не переводили.

2) Теперь в менеджере ресурсов установи всем режим "Только для чтения", кроме ресурсов StreamingAudioRecorder.Resources.resources, StreamingAudioRecorder.frmAbout.resources (в них находятся изображения), StreamingAudioRecorder.help-xp.html (документ HTML).

Показать / Скрыть текст

Архивы ZLIB

Ресурс #US - это жестко-закодированные строки, где у каждой из них признак "Только для чтения" установлен индивидуально. Сохрани проект и закрой редактор полностью.

3) Снова запусти Radialix и открой только что созданный проект локализации. Ошибок быть не должно.

Показать / Скрыть текст

Архивы ZLIB

Ничего не переводи, создай локализованный файл. Его размер должен быть в пределах оригинального, например у меня получился 2 230 784 байт. Т.е. всего лишь на 5 Кб больше оригинального.

4) Если теперь заменить те два изображения на оптимизированные и создать новый локализованный файл, то его размер будет меньше оригинального, например у меня - 2 163 712 байт (это зависит от суммарного размера оптимизированных изображений). После этого можно переводить документ HTML и необходимые жестко-закодированные строки.

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0

(24-01-2021 20:23:04 отредактировано WYLEK)

Re: Архивы ZLIB

ПРОДОЛЖЕНИЕ ТЕМЫ

6. Утилита Offset file unzipper v0.3.5
-----------------------------------------------------
Автор: Luigi Auriemma
Домашняя страница: http://aluigi.altervista.org
Лицензия: Freeware.
Скачать OffZip

Уникальная утилита для извлечения и распаковки ZIP-данных (в том числе и Zlib/gZip/Deflate), которые могут находиться внутри файлов (исполняемых, DLL, архивах, изображениях и прочих). Программа выполняет поиск Zip/Zlib/gZip/Deflate архивов в указанном файле по всем известным сигнатурам с заданного смещения. При нахождении блока с архивными данными, сохраняет их в отдельные файлы с именами смещений, по которым они были найдены, и при необходимости распаковывает архивы. Язык - английский.

Программа является консольной, поэтому с ней необходимо работать в интерпретаторе командной строки (cmd.exe).

Архивы ZLIB

Синтаксис команд следующий:

offzip [параметры] [color=#783F04]<имя_файла> <папка_сохранения> <смещение>[/color]

Описание:
------------
offzip - имя исполняемого файла утилиты (offzip.exe);
<имя_файла> - полный путь к файлу, в котором необходимо выполнить поиск Zip/Zlib/gZip/Deflate архивов. Если в строке пути имеются пробелы, то её необходимо заключить в двойные кавычки;
<папка_сохранения> - полный путь к папке, в которую необходимо сохранить/извлечь/распаковать все найденные архивные данные. Если в строке пути имеются пробелы, то её необходимо заключить в двойные кавычки;
<смещение> - адрес смещения, с которого следует начать поиск архивных данных в исследуемом файле;
[параметры] - параметры сканирования, поддерживаются следующие команды:
..................-s - поиск всех Zip/Zlib/gZip/Deflate данных.
.........................После нахождения первого архива сканирование завершается.
.........................Параметр <папка_сохранения> игнорируется, поэтому можете указать любые данные;
..................-S - все тоже самое, что и команда -s, но сканирование продолжается
.........................(на экран выводится список смещений всех найденных архивов);
..................-a - распаковка содержимого всех найденных архивов в указанную папку <папка_сохранения>.
.........................Имена файлов будут содержать адреса смещений, где были найдены архивы;
..................-A - извлечение всех найденных архивов в указанную папку <папка_сохранения>.
.........................Имена файлов будут содержать адреса смещений, по которым были найдены архивы;
..................-1 - этот параметр используется совместно с командами -a/-A и позволяет
.........................генерировать одно уникальное имя файла вместо нескольких;
.........-m SIZE - размер блока ZIP-данных, который подтверждает достоверность архивов.
.........................По умолчанию используется значение 32 (-m 32).
.........................Используйте большие значения для уменьшает числа ложных срабатываний утилиты и
.........................меньшие значения для, например 16 (-m 16), для выявления очень маленьких архивов;
...........-z NUM - величина выделенной памяти (windowBits) для сжатых данных.
.........................По умолчанию используется значение 15.
.........................Значения от -8 до -15 используются для поиска RAW Deflate данных.
.........................Значения от 8 до 15 используются для поиска Zlib данных;
..................-q - отключение каких-либо сообщений об ошибках;
..................-r - не удалять поврежденные архивы, полученные при помощи команд -a/-A;
..................-x - вывод данных о размерах сжатых/распакованных данных в шестнадцатеричном формате;
..........-L FILE - сохранение отчета с результатами сканирования в указанный файл (FILE).


Пример применения утилиты Offset file unzipper v0.3.5. Допустим мы хотим проверить наличие Zlib-архивов в исполняемом файле Streaming Audio Recorder.exe программы Streaming Audio Recorder (я рассматриваю версию 2.8). Запускаем интерпретатор командной строки (от имени Администратора!) и вводим следующие команды:

offzip -S d:TEMP_SOFTSAR_ZlibStreaming Audio Recorder.exe d:TEMP_SOFTSAR_Zlib 0

Параметр -S только поиск архивов, затем путь к файлу (т.к. в имени файла есть пробелы, то строку заключаем в двойные кавычки), потом папка вывода (в данном случае этот параметр игнорируется, но указывать его нужно обязательно), наконец начальный адрес поиска - 0 (т.е. с самого начала файла). Все. Нажимаем [Enter]. Утилита отработает и покажет результаты своей работы:

Архивы ZLIB

Найдено 10 архивов: адреса, размеры сжатых/распакованных данных. Один из архивов не удалось распознать и утилита предлагает изменить параметры, чтобы проверить, действительно ли это архив.

Так, архивы есть. Теперь давайте их извлечём в папку Zlib. Для этого укажем следующие команды:

offzip -A d:TEMP_SOFTSAR_ZlibStreaming Audio Recorder.exe d:TEMP_SOFTSAR_Zliblib 0

После работы утилиты в заданной папке мы получем файлы с найденными архивами:

Архивы ZLIB

Валидным архивам утилита дала расширения DLL, а неизвестному - DAT (файл 00120186.dat). На самом деле все полученные файлы с расширением DLL - это Zlib-архивы. Чтобы выполнить их распаковку, например, при помощи программ Simplyzip или Архиватор Zlib, файлам необходимо дать расширение *.zlp. Что из себя представляет архив 00120186.dat я не разбирался. Если вам интересно, то можете провести самостоятельное исследование smile .

Наконец, утилите можно дать команду, чтобы она сразу выполняла распаковку данных из найденных в исследуемом файле архивов, например в папку Un_Zlib:

offzip -a d:TEMP_SOFTSAR_ZlibStreaming Audio Recorder.exe d:TEMP_SOFTSAR_ZlibUn_Zlib 0

Вы получим тот же список файлов с такими же именами и расширениями, но это уже будут файлы, которые находились внутри архивов.

РАСПАКОВКА

Архивы ZLIB

ФАЙЛЫ

Архивы ZLIB

О том, как выяснить настоящие имена полученных файлов написано в разделе 3. Поиск и извлечение Zlib-данных. данного руководства (при помощи программы Exeinfo PE). С этим вопросом вы уже должны справиться сами.

Так, благодаря утилите Offset file unzipper, всю рутинную работу с Zlib-данными можно выполнить за считанные секунды.

Кто ищет, тот всегда найдет!
Архивы ZLIB

Рейтинг поста: 0