lunes, 30 de septiembre de 2013

Formato ZIP

Formato ZIP

Por: The Inspector

La estructura del formato zip se encuentra presente en muchos tipos de archivo como .docx, .xlsx, .odt, ods, entre otros y básicamente su estructura es la siguiente.

-Datos comprimidos
-Directorio central
-Descripcion del Directorio Central



La sección de datos comprimidos se construye a partir de dos elementos que son

-Cabecera del archivo
-Datos de archivo

Estos elementos se repiten por cada archivo que se agrege al archivo comprimido.

Luego se agrega un elemento llamado Directorio Central donde se listan los archivos que se encuentran agregados y esta es la estructura utilizada por los programas que manejan este tipo de archivos para mostrar un listado de los archivos que se encuentran dentro.

Existe un tercer elemento llamado descripción del indice y a pesar de que este contiene una descripción del elemento anterior no siempre es utilizado por programas populares como el visor de archivos comprimidos de windows o el programa winrar y si por el programa de compresión 7-zip.

Descripcion de los elementos principales de un archivo comprimido.

Cabecera de archivo


Corresponden a mas de 30bytes por cada archivo agregado en el comprimido y digo mas porque existen unos campos de longitud variable.


Nombre del campo
Tamaño
firma de cabecera del archivo local (0x504B0304)
4bytes
version
2bytes
bit bandera de proposito general
2bytes
metodo de compresion
2bytes
hora ultima modificación del archivo
2bytes
fecha ultima modificación del archivo
2bytes
crc-32
4bytes
tamaño de archivo comprimido
4bytes
tamaño de archivo descomprimido
4bytes
tamaño del nombre del archivo
2bytes
campo para longitud extra del nombre
2bytes
nombre del archivo
variable
campo extra




Datos de Archivo
variable


Directorio Central


Corresponden a mas de 46bytes POR CADA ARCHIVO agregado en el comprimido y digo mas porque existen unos campos de longitud variable.

Nombre del campo
Tamaño
firma de cabecera del archivo local (0x504B0102)
4bytes
version
2bytes
version necesaria para extracion
2bytes
bit bandera de proposito general
2bytes
metodo de compresion
2bytes
hora ultima modificación del archivo
2bytes
fecha ultima modificación del archivo
2bytes
crc-32
4bytes
tamaño de archivo comprimido
4bytes
tamaño de archivo descomprimido
4bytes
tamaño del nombre del archivo
2bytes
campo de longitud extra
2bytes
longitud de comentario
2bytes
longitud extra del comentario
2bytes
No de partes de este archivo
2bytes
Atributo interno del archivo
2bytes
Atributo externo del archivo
4bytes
Offset de cabecera local
4bytes



nombre del archivo
variable
campo extra
variable
comentario
variable



Descripción del indice


Corresponden a los últimos 22bytes que oficialmente conforman la estructura de un archivo comprimido y contiene como su nombre lo indica una descripcion de la tabla del directorio central.

Nombre del campo
Tamaño
firma de cabecera del archivo local (0x504B0506)
4bytes
numero de partes totales del archivo
2bytes
numero de parte de archivo
2bytes
numero de entradas totales
2bytes
numero de entradas en este archivo
2bytes
tamaño del directorio central
4bytes
offset entre inicio de archivo y central directory
2bytes


En resumen estas son las cabeceras que podemos encontrar dentro de un archivo .ZIP y que son mas identificables.

Cabecera por cada archivo agregado al zip
0x504B0304

Cabecera por cada archivo en el directorio central
0x504B0102

Cabecera del indice de directorio

0x504B0506

No hay comentarios.:

Publicar un comentario