[sisyphus] Слишком "новый" zip?

Sergey Vlasov vsu на altlinux.ru
Вт Дек 21 18:42:20 UTC 2010


On Tue, Dec 21, 2010 at 05:39:49PM +0300, Alexei V. Mezin wrote:
> Прислали файл, zip-архив. Но mc в него не заходит, и
> 
> [alexei на threebears tmp]$ file ./3d_for_Dyshkin.zip
> ./3d_for_Dyshkin.zip: data
> 
> 
> При этом unzip отображает его содержимое и распаковывает.
> 
> [alexei на threebears tmp]$ head -c 20 ./3d_for_Dyshkin.zip
> PPKЈu”=

Вывод hexdump -C -n64 $file был бы полезнее.

> Сигнатура и правда какая-то новая.

Вероятнее всего, дело не в новой сигнатуре, а в том, что в начало
zip-файла можно добавить любое количество произвольных данных, и это
не помешает unzip распаковать этот архив - каталог архива ищется в
конце файла, а не в начале (правда, в конце может быть до 64 КБ
комментариев к архиву, поэтому всё равно приходится выполнять поиск
блока с нужной сигнатурой).  Эта особенность формата ZIP позволяет,
например, просто соединить исполняемый код для распаковки архива с
архивным файлом, сохранив возможность распаковать такой файл обычным
unzip, при этом не требуется знать особенности формата исполняемого
файла для поиска начала архива.  Однако полностью описать такой формат
для распознавания утилитой file невозможно - в результате эта утилита
может автоматически распознавать только "чистые" ZIP-архивы.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20101221/8024130b/attachment.bin>


Подробная информация о списке рассылки Sisyphus