On Mon, Dec 14, 2015 at 1:28 PM, RAPPAZ Francois <francois.rap...@unifr.ch>
wrote:

> “7-Zip now checks only first 4 MB for zip headers.
>
> But that archive contains some big sfx-stub that is larger than 4 MB.
>
> Why does it add 4 MB win32 PE Executable STUB to zip archive?”
>

Because it can :) Actually the zip file comes at the end, in front is the
boot.exe (which extracts just the custom Perl interpreter and its perl DLL)
and then some core Perl modules (uncompressed), essentially enough to load
Archive::Zip and PAR::Heavy.
AFAIK the correct strategy to "parse" a zip file is to to start *at the end*
and look *backward* for the signature of the central directory. At least,
that's how unzip (see below) and Archive::Zip do it.

Should I switch to IO::Uncompress::Unzip ?


Install classic unzip <http://www.info-zip.org/> or (since you already have
Archive::Zip) use the example script extract.pl that comes with
Archive::Zip.

Cheers, Roderich

Reply via email to