Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 10 May 2011 21:17:38 +0200
From: magnum <rawsmooth@...dband.net>
To: john-dev@...ts.openwall.com
Subject: Re: Auto-format-list

On 2011-05-09 22:30, jfoug wrote:
> From: magnum Sent: Monday, May 09, 2011 3:04 PM
>> Actually just "-sub=LIST"
>> will do fine without giving -format at all.
>
> I think that is the best way to go.  I will change it (or leave it for you
> to change, since you are working on that code).

I thought I should take at shorten the whole usage blob (in the same 
patch as auto-formats-list) while I'm at it. The one printed from 
Jumbo-2RC is 46 lines long and looks like this:

John the Ripper password cracker, version 1.7.7-jumbo-2
Copyright (c) 1996-2011 by Solar Designer and others
Homepage: http://www.openwall.com/john/

Usage: john-jumbo2rc1 [OPTIONS] [PASSWORD-FILES]
--config=FILE              use FILE instead of john.conf or john.ini
--single[=SECTION]         "single crack" mode
--wordlist=FILE --stdin    wordlist mode, read words from FILE or stdin
--rules[=SECTION]          enable word mangling rules for wordlist mode
--incremental[=MODE]       "incremental" mode [using section MODE]
--markov[=LEVEL[:START:END[:MAXLEN]]] "Markov" mode (see documentation)
--external=MODE            external mode or word filter
--stdout[=LENGTH]          just output candidate passwords [cut at LENGTH]
--restore[=NAME]           restore an interrupted session [called NAME]
--session=NAME             give a new session the NAME
--status[=NAME]            print status of a session [called NAME]
--make-charset=FILE        make a charset, FILE will be overwritten
--show[=LEFT]              show cracked passwords [if =LEFT, then uncracked]
--test[=TIME]              run tests and benchmarks for TIME seconds each
--users=[-]LOGIN|UID[,..]  [do not] load this (these) user(s) only
--groups=[-]GID[,..]       load users [not] of this (these) group(s) only
--shells=[-]SHELL[,..]     load users with[out] this (these) shell(s) only
--salts=[-]COUNT[:MAX]     load salts with[out] at least COUNT passwords 
only
                            (or in range of COUNT to MAX)
--pot=NAME                 pot file to use
--format=NAME              force hash type NAME:
 
DES/BSDI/MD5/BF/AFS/LM/NT/XSHA/PO/raw-MD5/MD5-gen/
 
IPB2/raw-sha1/md5a/hmac-md5/phpass-md5/KRB5/bfegg/
                            nsldap/ssha/openssha/oracle/oracle11/MYSQL/
                            mysql-sha1/mscash/mscash2/lotus5/DOMINOSEC/
 
NETLM/NETNTLM/NETLMv2/NETNTLMv2/NETHALFLM/MSCHAPv2/
                            mssql/mssql05/epi/phps/mysql-fast/pix-md5/sapG/
 
sapB/md5ns/HDAA/DMD5/raw-md4/md4-gen/sha1-gen/crypt
--subformat=NAME           Kept for 'legacy' reasons.  md5-gen 
subformats can
                            now be used within the 'format' switch.
                            If -format=md5 and -sub=LIST, then john will 
show
                            all subformats (help mode), and exit
--save-memory=LEVEL        enable memory saving, at LEVEL 1..3
--mem-file-size=SIZE       max size a wordlist file will preload into memory
                            (default 5,000,000 bytes)
--field-separator-char=c   Use 'c' instead of the ':' for processing fields
                            (input file, pot file, etc)
--fix-state-delay=N        only determine the wordlist offset every N times
                            It is a performance gain to delay a while
                            (say 100 loops for a fast algorithm).
                            For slow algorithms it should not be used.


The current one in my tree looks like this (38 lines):

John the Ripper password cracker, version 1.7.7-jumbo-2RC++
Copyright (c) 1996-2011 by Solar Designer and others
Homepage: http://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
--config=FILE             use FILE instead of john.conf or john.ini
--single[=SECTION]        "single crack" mode
--wordlist=FILE --stdin   wordlist mode, read words from FILE or stdin
--rules[=SECTION]         enable word mangling rules for wordlist mode
--incremental[=MODE]      "incremental" mode [using section MODE]
--markov[=LEVEL[:START:   "Markov" mode (see documentation)
            END[:MAXLEN]]]
--external=MODE           external mode or word filter
--stdout[=LENGTH]         just output candidate passwords [cut at LENGTH]
--restore[=NAME]          restore an interrupted session [called NAME]
--session=NAME            give a new session the NAME
--status[=NAME]           print status of a session [called NAME]
--make-charset=FILE       make a charset, FILE will be overwritten
--show[=LEFT]             show cracked passwords [if =LEFT, then uncracked]
--test[=TIME]             run tests and benchmarks for TIME seconds each
--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only
--groups=[-]GID[,..]      load users [not] of this (these) group(s) only
--shells=[-]SHELL[,..]    load users with[out] this (these) shell(s) only
--salts=[-]COUNT[:MAX]    ony load salts with[out] COUNT [to MAX] hashes
--pot=NAME                pot file to use
--format=NAME             force hash type NAME:
 
des/bsdi/md5/bf/afs/lm/nt/xsha/mscash/mscash2/hmac-md5
                           po/raw-md5/phpass-md5/dmd5/ipb2/raw-sha1/sha1-gen
 
raw-md4/md4-gen/krb4/krb5/nsldap/ssha/openssha/bfegg
                           oracle/oracle11/mysql/mysql-sha1/lotus5/dominosec
 
netlm/netntlm/netlmv2/netntlmv2/nethalflm/mschapv2
 
mssql/mssql05/epi/phps/mysql-fast/pix-md5/sapg/sapb
                           md5ns/hdaa/crypt/dummy/md5-gen(n)
--subformat=LIST          get a listing of all md5_gen(n) formats
--save-memory=LEVEL       enable memory saving, at LEVEL 1..3
--mem-file-size=SIZE      size threshold for wordlist preload (5 MB)
--field-separator-char=c  use 'c' instead of the ':' in (input and pot files
--fix-state-delay=N       performance tweak, see documentation


Apart from ALL descriptions now being one line (except Markov that 
increased to two-line) I also decreased the indentation for the second 
"column" by one character (will shorten the format list by one line when 
it's "on the edge"). Anyone unhappy with this change, or wanting 
something differently worded, speak out.

Also, I have experimental code that keeps the format list uppercased 
where it used to be. This is more intrusive than the current patch 
(touches each of those formats) and the risk of introducing a bug raises 
a little (*all* compares with format->params-label must ignore case, as 
the structs will not be lowercase any longer). It is probably not worth 
it, any comments on this? Actually the lowercased list may be easier to 
read.

magnum

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.