ZJONSSON / node-unzipper

node.js cross-platform unzip using streams
Other
424 stars 114 forks source link

offsetToLocalFileHeader greater than 32-bit int limit throws exceptions #324

Open emmercm opened 1 week ago

emmercm commented 1 week ago

When parsing a large zip file with:

const archive = await unzipper.Open.file('some/file/path.zip');

if a file's offsetToLocalFileHeader is greater than the 32-bit integer max value of 4,294,967,296, its value will end up being null and not a number:

archive.files.length;
// 28

archive.files.filter(file=>file.offsetToLocalFileHeader===null).length;
// 10

which will throw an ERR_INVALID_ARG_TYPE exception when trying to get a stream to the file:

const stream = archive.files.at(-1).stream();

System info:

Here's an example zip file, this problem happens with central directory entries 19-28:

$ unzip -Zsvh "Amazing Spider-Man, The - Ultimate Edition (USA) (En,Fr,Es).zip"

Archive:  Amazing Spider-Man, The - Ultimate Edition (USA) (En,Fr,Es).zip
The zipfile comment is 22 bytes long and contains the following text:
======================== zipfile comment begins ==========================
TORRENTZIPPED-FD9EB058
========================= zipfile comment ends ===========================

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

  Zip archive file size:                9181844173 (000000022347D2CDh)
  Actual end-cent-dir record offset:    9181844053 (000000022347D255h)
  Expected end-cent-dir record offset:  9181844053 (000000022347D255h)
  (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 28 entries.
  The central directory is 2159 (000000000000086Fh) bytes long,
  and its (expected) offset in bytes from the beginning of the zipfile
  is 9181841894 (000000022347C9E6h).

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

  000500001011c300/0/00000000

  offset of local header from start of archive:   0
                                                  (0000000000000000h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         8f514776
  compressed size:                                32778 bytes
  uncompressed size:                              32768 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #2:
---------------------------

  000500001011c300/0/00000001

  offset of local header from start of archive:   32835
                                                  (0000000000008043h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         91c5e07e
  compressed size:                                32778 bytes
  uncompressed size:                              32768 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #3:
---------------------------

  000500001011c300/0/00000002

  offset of local header from start of archive:   65670
                                                  (0000000000010086h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         da17f19e
  compressed size:                                32778 bytes
  uncompressed size:                              32768 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #4:
---------------------------

  000500001011c300/0/00000003

  offset of local header from start of archive:   98505
                                                  (00000000000180C9h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         5db5849f
  compressed size:                                196668 bytes
  uncompressed size:                              196608 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #5:
---------------------------

  000500001011c300/0/00000004

  offset of local header from start of archive:   295230
                                                  (000000000004813Eh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         7afc6031
  compressed size:                                11734524 bytes
  uncompressed size:                              11730944 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #6:
---------------------------

  000500001011c300/0/00000005

  offset of local header from start of archive:   12029811
                                                  (0000000000B78F73h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         a2aecec1
  compressed size:                                1114452 bytes
  uncompressed size:                              1114112 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #7:
---------------------------

  000500001011c300/0/00000006

  offset of local header from start of archive:   13144320
                                                  (0000000000C89100h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         48892835
  compressed size:                                1114452 bytes
  uncompressed size:                              1114112 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #8:
---------------------------

  000500001011c300/0/00000007

  offset of local header from start of archive:   14258829
                                                  (0000000000D9928Dh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         ad36e5d8
  compressed size:                                34154676 bytes
  uncompressed size:                              34144256 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #9:
---------------------------

  000500001011c300/0/00000008

  offset of local header from start of archive:   48413562
                                                  (0000000002E2BB7Ah) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         65b964dc
  compressed size:                                5834484 bytes
  uncompressed size:                              5832704 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #10:
---------------------------

  000500001011c300/0/00000009

  offset of local header from start of archive:   54248103
                                                  (00000000033BC2A7h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         1bda71e9
  compressed size:                                6457266 bytes
  uncompressed size:                              6455296 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #11:
---------------------------

  000500001011c300/0/0000000a

  offset of local header from start of archive:   60705426
                                                  (00000000039E4A92h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         387674f1
  compressed size:                                346791195 bytes
  uncompressed size:                              346685440 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #12:
---------------------------

  000500001011c300/0/0000000b

  offset of local header from start of archive:   407496678
                                                  (000000001849E7E6h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         86ab4ed8
  compressed size:                                1179483392 bytes
  uncompressed size:                              1179123712 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #13:
---------------------------

  000500001011c300/0/0000000c

  offset of local header from start of archive:   1586980127
                                                  (000000005E97651Fh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         6aabc582
  compressed size:                                529495742 bytes
  uncompressed size:                              529334272 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #14:
---------------------------

  000500001011c300/0/0000000d

  offset of local header from start of archive:   2116475926
                                                  (000000007E26DC16h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         bf5775dd
  compressed size:                                507731155 bytes
  uncompressed size:                              507576320 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #15:
---------------------------

  000500001011c300/0/0000000e

  offset of local header from start of archive:   2624207138
                                                  (000000009C6A3922h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         0d77d480
  compressed size:                                521170130 bytes
  uncompressed size:                              521011200 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #16:
---------------------------

  000500001011c300/0/0000000f

  offset of local header from start of archive:   3145377325
                                                  (00000000BB7AA62Dh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         22922fb6
  compressed size:                                498684427 bytes
  uncompressed size:                              498532352 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #17:
---------------------------

  000500001011c300/0/00000010

  offset of local header from start of archive:   3644061809
                                                  (00000000D933F871h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         eac8d1e2
  compressed size:                                473314260 bytes
  uncompressed size:                              473169920 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #18:
---------------------------

  000500001011c300/0/00000011

  offset of local header from start of archive:   4117376126
                                                  (00000000F56A2C7Eh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.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):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         ef946e76
  compressed size:                                505633363 bytes
  uncompressed size:                              505479168 bytes
  length of filename:                             27 characters
  length of extra field:                          0 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  There is no file comment.

Central directory entry #19:
---------------------------

  000500001011c300/0/00000012

  offset of local header from start of archive:   4623009546
                                                  (00000001138D870Ah) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         ec55912d
  compressed size:                                504912247 bytes
  uncompressed size:                              504758272 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    0a 87 8d 13 01 00 00 00.

  There is no file comment.

Central directory entry #20:
---------------------------

  000500001011c300/0/00000013

  offset of local header from start of archive:   5127921850
                                                  (0000000131A5E0BAh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         603073fb
  compressed size:                                523595702 bytes
  uncompressed size:                              523436032 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    ba e0 a5 31 01 00 00 00.

  There is no file comment.

Central directory entry #21:
---------------------------

  000500001011c300/0/00000014

  offset of local header from start of archive:   5651517609
                                                  (0000000150DB50A9h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         7de51a9b
  compressed size:                                532380206 bytes
  uncompressed size:                              532217856 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    a9 50 db 50 01 00 00 00.

  There is no file comment.

Central directory entry #22:
---------------------------

  000500001011c300/0/00000015

  offset of local header from start of archive:   6183897872
                                                  (000000017096CB10h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         68867b82
  compressed size:                                531003530 bytes
  uncompressed size:                              530841600 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    10 cb 96 70 01 00 00 00.

  There is no file comment.

Central directory entry #23:
---------------------------

  000500001011c300/0/00000016

  offset of local header from start of archive:   6714901459
                                                  (00000001903D43D3h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         ba20a0b5
  compressed size:                                492981055 bytes
  uncompressed size:                              492830720 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    d3 43 3d 90 01 00 00 00.

  There is no file comment.

Central directory entry #24:
---------------------------

  000500001011c300/0/00000017

  offset of local header from start of archive:   7207882571
                                                  (00000001AD9F8F4Bh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         1b5a36e6
  compressed size:                                484589887 bytes
  uncompressed size:                              484442112 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    4b 8f 9f ad 01 00 00 00.

  There is no file comment.

Central directory entry #25:
---------------------------

  000500001011c300/0/00000018

  offset of local header from start of archive:   7692472515
                                                  (00000001CA81D0C3h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         c6388a0b
  compressed size:                                511926739 bytes
  uncompressed size:                              511770624 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    c3 d0 81 ca 01 00 00 00.

  There is no file comment.

Central directory entry #26:
---------------------------

  000500001011c300/0/00000019

  offset of local header from start of archive:   8204399311
                                                  (00000001E90532CFh) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         b0d350e5
  compressed size:                                530610194 bytes
  uncompressed size:                              530448384 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    cf 32 05 e9 01 00 00 00.

  There is no file comment.

Central directory entry #27:
---------------------------

  000500001011c300/0/0000001a

  offset of local header from start of archive:   8735009562
                                                  (0000000208A5AB1Ah) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         18d8282f
  compressed size:                                446829636 bytes
  uncompressed size:                              446693376 bytes
  length of filename:                             27 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    1a ab a5 08 02 00 00 00.

  There is no file comment.

Central directory entry #28:
---------------------------

  000500001011c300/0/tmd

  offset of local header from start of archive:   9181839255
                                                  (000000022347BF97h) bytes
  file system or operating system of origin:      MS-DOS, OS/2 or NT FAT
  version of encoding software:                   0.0
  minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
  minimum software version required to extract:   4.5
  compression method:                             deflated
  compression sub-type (deflation):               maximum
  file security status:                           not encrypted
  extended local header:                          no
  file last modified on (DOS date/time):          1996 Dec 24 23:32:00
  32-bit CRC value (hex):                         cd273ab9
  compressed size:                                2587 bytes
  uncompressed size:                              5908 bytes
  length of filename:                             22 characters
  length of extra field:                          12 bytes
  length of file comment:                         0 characters
  disk number on which file begins:               disk 1
  apparent file type:                             binary
  non-MSDOS external file attributes:             000000 hex
  MS-DOS file attributes (00 hex):                none

  The central-directory extra field contains:
  - A subfield with ID 0x0001 (PKWARE 64-bit sizes) and 8 data bytes:
    97 bf 47 23 02 00 00 00.

  There is no file comment.
Cruaier commented 1 day ago

Hi there,

I was looking into it as I faced the same issue. Debugging my way through, I discovered that the problem lies with the extra field of Zip64. The current logic expects all fields to always be present in the Zip64 entry (which is not necessarily the case). I changed the logic to check which values should be present based on the values in the Zip64 central directory.

@ZJONSSON you may have a look here https://github.com/ZJONSSON/node-unzipper/pull/327 - thank you.