FZC 1.06 BETA-A (990326) for Win32

This is beta-level code.  It may contain a few (or, more likely, lots
of) bugs.  Don't run beta software in your production systems.

As of 99/03/26 the latest stable version is 1.05c for DOS, available
from my homepage (see below).

Included files:
    FZC.EXE       55,013
    FZC.CFG        3,998    use notepad to change it (not Word or other wp)
    FZC.SIG           66    get my PGP pk from my homepage to verify this sig
    README.TXT     6,602
    BFORCE.TXT     2,988    brute force mode info
    WLIST.TXT      3,881    wordlist mode info
    EXITCODE.TXT   2,234    exit codes
    OPT.TXT        1,221    optional command-line parameters
    WHATSNEW.TXT     851    beta 9 -> beta A
------------------------------------------------------------------------------
Completed (1.05c level or better):

    * brute force
    * wordlist
    * benchmark
    * suspend/resume, autosave
    * truncated, damaged, self-extracting, barely legal zip support
    * internal unzip checking
    * cfg file
    * distributed cracking
    * password logging

Partial:

    * help / txts

Not yet:

    * template mode (1.07)
------------------------------------------------------------------------------
Command-line usage (may change in future betas):

Switch: -m (mode; required)
        -mb             brute force
        -mr             resume brute force
        -ms             speed test
        -mt             template mode
        -mwX            wordlist mode, where X is 0..3 (1..3 like in 1.05)

Switch: -nz (zip filename; required if cracking and no resuming)
        -nzZIPNAME

Switch: -nw (wordlist name; required in wordlist modes)
        -nwWORDLISTNAME

Switch: -nt (template filename; required in template mode)
        -ntTEMPLATENAME

Switch: -nc (cfg filename; default = FZC.CFG in current directory. If it's
             not found there, it'll try the dir where FZC.EXE is located)
        -ncCFGNAME

Switch: -nr (resume filename; default = RESUME.FZC in current directory)
        -nrRESUMENAME

Switch: -nl (log filename; default = FZC.LOG in current directory)
        -nlLOGNAME

Switch: -l (password length; required in bf mode; optional in wordlist)
        In wordlist modes it defaults to -l0 (checks words of any length)
        -l0             lengths 1..32
        -l4             length 4
        -l4-7           lengths 4..7
        -l4+            lengths 4..32

Switch: -f (starting line; optional; wordlist modes)
        -f12345

Switch: -c (character set; required for brute force; optional for w3)
        In wordlist mode 3 (w3) it tells FZC what to use when
        replacing/inserting characters (default = aAs!1, same as in 1.05)
        -c#             chars 1..7, 9..255
        -ca             a..z
        -cA             A..Z
        -c1             0..9
        -cs             space
        -c!             32 symbols: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
        -c@FILENAME     reads up to 254 different chars from FILENAME

Switch: -p (current & total machines; optional; brute force)
        -p2:5           currently running in machine 2 of 5

Switch: -P (priority; tells FZC how much CPU it should use; optional)
        -Pi             idle (use the CPU when nobody else needs it)
        -Pn             normal (compete with other processes for CPU time)
        -Ph             high (eat the CPU most of the time)
        -Pr             realtime (crash?)

Switch: -dw (don't wait for a keypress after reporting an error; optional)
        -dw

Switch: -do (like -dw but also closes the console; optional)
        -do

Switch: -dp (wait for a keypress before exit; optional)
        -dp

Examples:

    FZC -ms
    FZC -mb -znc:\zips\test.zip -l0 -cas
    FZC -mb -znc:\zips\test.zip -l3-5 -cA!s1
    FZC -mb -zn"c:\my zips\contains spaces.zip" -l5+ -ca -p8:15 -Pi
    FZC -mw1 -znc:\zips\test.zip -nwc:\wlists\wordlist.txt -l8+
    FZC -mw3 -znc:\zips\test.zip -nwc:\wlists\wordlist.txt -f40000 -ca1
------------------------------------------------------------------------------
Notes:

    * EOL (end-of-line) for FZC 1.05 is a LF or a CR-LF pair.
      FZC 1.06 accepts any number of CRs and/or LFs (any order) as EOL.

    * Spaces are stripped from the start and end of each word in
      wordlist modes.

    * The two points above means line numbers reported by FZC 1.05 and
      1.06 may be different (blank lines or lines containing only spaces
      are not counted by 1.06).

    * EOF (end-of-file) didn't change (0x1A) and is optional.

    * What's a "CrackSet"?
      FZC is using 2 different sets of cracking routines, CS1 optimized
      for PPro/PII/Celeron CPUs and CS2 for Pentium/PMMX.

    * The internal unzip checking feature is used to verify a possible
      password when the ZIP has less than 5 encrypted files and at least
      one of them is no bigger (in compressed/stored form) than 24 MB.
      It is just like trying to extract a file and check it's OK to be
      sure the password is correct.
      FZC using a ZIP with only one deflated+encrypted file inside (any
      size) should be at most 15% slower than if the ZIP had more
      encrypted files.
      FZC using a ZIP with only one stored+encrypted file inside may be
      terribly slow, depending on the file size. If you get "b" tries/sec
      as your best brute force benchmark (FZC -ms), and the stored file
      size is "x" bytes, the speed should be around (crude estimate,
      doesn't work for very small files) 1580*b/(1580+x) tries per second.

    * Wordlist method 0 (-mw0) is new.  It tries the words as they're in
      the wordlist, without any transformation, case conversion, etc.
      The (leading & trailing) space supression holds, though.
      w0 is 30+ times faster than w1  }
      w1 is  7+ times faster than w2  } typical wordlist; varies with avg
      w2 is 60+ times faster than w3  } word length

    * The inflate (ZIP compression method 8) support code was not written
      by me:
              inflate.c -- put in the public domain by Mark Adler
------------------------------------------------------------------------------
Found a bug? Please email me the relevant info (after checking my homepage
to be sure you are using the latest version).

Benchmarks ("FZC -ms") & comments welcome!
Files are NOT welcome.  I'll not find any password for you.

fpapa@netgate.com.uy
http://www.netgate.com.uy/~fpapa
