Analisando propriedades de um arquivo ZIP

17

Eu tenho um arquivo ZIP e quero determinar como ele foi compactado (o algoritmo específico, propriedades usadas para aplicar esse algoritmo etc.). Como posso fazer isso?

RCIX
fonte

Respostas:

16

zipinfo(do InfoZIP ) informará muito sobre um arquivo.

Exemplo de saída de zipinfo -v(usando a opção "detalhada" -v):

Archive:  /tmp/test.zip
There is no zipfile comment.

End-of-central-directory record:
-------------------------------

  Zip archive file size:                     22341 (0000000000005745h)
  Actual end-cent-dir record offset:         22319 (000000000000572Fh)
  Expected end-cent-dir record offset:       22319 (000000000000572Fh)
  (based on the length of the central directory and its expected offset)

  This zipfile constitutes the sole disk of a single-part archive; its
  central directory contains 1 entry.
  The central directory is 88 (0000000000000058h) bytes long,
  and its (expected) offset in bytes from the beginning of the zipfile
  is 22231 (00000000000056D7h).


Central directory entry #1:
---------------------------

  tmp/bookmarks.html

  offset of local header from start of archive:   0
                                                  (0000000000000000h) bytes
  file system or operating system of origin:      Unix
  version of encoding software:                   3.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   2.0
  compression method:                             deflated
  compression sub-type (deflation):               normal
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          2010 Feb 20 16:22:48
  file last modified on (UT extra field modtime): 2010 Feb 20 16:22:47 local
  file last modified on (UT extra field modtime): 2010 Feb 20 15:22:47 UTC
  32-bit CRC value (hex):                         3e84c75c
  compressed size:                                22155 bytes
  uncompressed size:                              76774 bytes
  length of filename:                             18 characters
  length of extra field:                          24 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             text
  Unix file attributes (100600 octal):            -rw-------
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x5455 (universal time) and 5 data bytes.
    The local extra field has UTC/GMT modification/access times.
  - A subfield with ID 0x7875 (Unix UID/GID (any size)) and 11 data bytes:
    01 04 e8 03 00 00 04 e8 03 00 00.

  There is no file comment.

Se isso não for suficiente, explique quais informações você precisa.


Observe que a zipinfofuncionalidade é realmente parte do unzipprograma (os dois binários geralmente são idênticos ou se vinculam). Você pode chamar unzip -Zpara obter zipinfoa funcionalidade. Portanto, se sua instalação não tiver um zipinfobinário, você poderá usá-lo unzip -Z.

sleske
fonte
Isto parece o que eu preciso, mas os espelhos do InfoZip parecem estar inoperantes e apenas a fonte está disponível no sourceforge ...
RCIX
Ok, eu descobri. Segui primeiro as instruções de FTP (com uma ligeira modificação), mas descobri que você pode pegar o que precisa em ftp.info-zip.org/pub/infozip/win32 .
RCIX 16/03/10
Desculpe, eu ainda preciso de ajuda: zipinfo não aparece no arquivo que eu baixei :(
RCIX
@RCIX: Desculpe, não faço ideia de onde você pode obter os binários do Windows. Eu uso o Linux, onde faz parte de todas as distribuições :-). Basta postar uma nova pergunta para perguntar sobre os binários do Windows.
sleske
@RCIX, @sleske: Parece que o zipinfo é mesclado no descompactação. Download unz*xn-x64.exee usounzip.exe -Zv FILENAME.zip
Ivan Chau
11

Na zipinfoverdade, o comando pode ser executado no Windows usando o unzip -Zcomando, conforme indicado na documentação do arquivo info-zip.

Faça um arquivo em lotes "zipinfo.bat" com este comando dentro:

unzip.exe -Zsvh %1

e você está zipinfoexecutando no Windows.

fred78800
fonte
1
Esse comando funciona no CentOS / Linux também, obviamente, após a remoção .exe
Aditya Kumar Pandey