Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 21 Sep 2011 08:20:12 -0500
From: "JimF" <>
To: <>
Subject: Re: -lz (was: No problem seen in Jumbo-6-RC5+0002)

pkzip certainly uses -lz.  I use zlib explicitly in the cracking of pkzip 
passwords. To crack them, you have to inflate the blob. I did not write the 
entire inflate code into john, I use zlib, with a negative bit size, and 
calling the 2nd form init function. That forces zlib to simply handle 'raw' 
deflated blobs like pkzip writes out, vs gzip blobs with a header.  But I do 
absolutely use zlib.  I did write a very small amount of inflate-like code 
directly into john, but it does not inflate.  It simply performs the 
validation of one 'operation', or part of one operation, looking for data 
which does not validate (most bogus data will NOT be of proper format).  It 
is much faster to do it that way (validating 1 op code), than to use all of 
the overhead of zlib to try to detect errors in the first few bytes.

Why he is getting  a linkage error, could be due to dynamic builds, with 
dynamic modules which have already loaded lz, and the -lz being a static 
lib.  Just a guess, since dynamic/static and other linkage issues on *nix is 
not my strong suite.


----- Original Message ----- 
From: "Solar Designer" <>

> Previously, Robert reported needing -lz for making a static build of
> John with his install of OpenSSL.
> ...
> Now -lz appears to be needed for pkzip_fmt_plug.c anyway - at least when
> I tried removing -lz, my build on Mac OS X failed:

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.