zip

zip is a file format to archive files, composed of binary data.

chunk

name
local_file_header
local_file_header_extra
data
central_file_header
central_file_header_extra
zip64_end_of_central_directory_record
zip64_end_of_central_directory_locator
end_of_central_directory_record
signature
50 4b 03 04
01 00
0byte
50 4b 01 02
01 00
50 4b 06 06
50 4b 06 07
50 4b 05 06
data
(26+n)bytes
(0,10,18)bytes
?
(42+n)bytes
(0,10,18,26)bytes
(52+n)bytes
16bytes
(18+n)bytes

local_file_header

data

version_needed_to_extract(2)
general_purpose_bit_flag(2)
compression_method(2)
last_mod_file_time(2)
last_mod_file_date(2)
crc(4)
compressed_size(4)
uncompressed_size(4)
file_name_length(2)
extra_field_length(2)
file_name(?)
extra_field(?)

local_file_header_extra

data

size(2)
original_size(8)
compressed_size(8)

central_file_header

data

version_made_by(2)
version_needed_to_extract(2)
general_purpose_bit_flag(2)
compression_method(2)
last_mod_file_time(2)
last_mod_file_date(2)
crc(4)
compressed_size(4)
uncompressed_size(4)
file_name_length(2)
extra_field_length(2)
file_comment_length(2)
disk_number_start(2)
internal_file_attributes(2)
external_file_attributes(4)
relative_offset_of_local_header(4)
file_name(?)
extra_field(?)
file_comment(?)

central_file_header_extra

data

size(2)
original_size(8)
compressed_size(8)
relative_header_offset(8)

zip64_end_of_central_directory_record

data

size_of_zip64_end_of_central_directory_record(8)
version_made_by(2)
version_needed_to_extract(2)
number_of_this_disk(4)
number_of_the_disk_with_the_start_of_the_central_directory(4)
total_number_of_entries_in_the_central_directory_on_this_disk(8)
total_number_of_entries_in_the_central_directory(8)
size_of_the_central_directory(8)
offset_of_start_of_central_directory_with_respect_to_the_starting_disk_number(8)
zip64_extensible_data_sector(?)

zip64_end_of_central_directory_locator

data

number_of_the_disk_with_the_start_of_the_zip64_end_of_central_directory(4)
relative_offset_of_the_zip64_end_of_central_directory_record(8)
total_number_of_disks(4)

end_of_central_directory_record

data

number_of_this_disk(2)
number_of_the_disk_with_the_start_of_the_central_directory(2)
total_number_of_entries_in_the_central_directory_on_this_disk(2)
total_number_of_entries_in_the_central_directory(2)
size_of_the_central_directory(4)
offset_of_start_of_central_directory_with_respect_to_the_starting_disk_number(4)
.ZIP_file_comment_length(2)
.ZIP_file_comment(?)