Helpscreen redesign
#1
Hey Guys,

I need help at the redesign of the help-screen of oclHashcat-plus v0.07.

The goal is it to make it easier to understand and to look better. If someone is bored, feel free to try it Smile

- You can not change parameter name
- Try not to exceed 78 chars per line

Code:
oclHashcat-plus, advanced password recovery Usage: oclHashcat-plus [options]... hash|hashfile|hccapfile [dictionary|mask|directory]... ======= Options ======= * General: -m, --hash-type=NUM Hash-type, see references below -a, --attack-mode=NUM Attack-mode, see references below -V, --version Print version -h, --help Print help --eula Print EULA --quiet Suppress output * Misc: --runtime=NUM Abort session after NUM seconds of runtime --hex-salt Assume salt is given in hex --hex-charset Assume charset is given in hex * Outfile: -o, --outfile=FILE Define outfile for recovered hash --outfile-format=NUM Define outfile-format for recovered hash --show Show cracked passwords only --left Show un-cracked passwords only --username Enable ignoring of usernames in hashfile --remove Enable remove of hash once it is cracked * Resources: -c, --segment-size=NUM Size in MB to cache from the wordfile --gpu-async Use non-blocking async calls (NV only) -d, --gpu-devices=STR Devices to use, separate with comma -n, --gpu-accel=NUM Workload tuning: 1, 8, 40, 80, 160 --gpu-loops=NUM Workload fine-tuning: 8 - 1024 --gpu-watchdog=NUM Abort session at NUM degrees celsius * Rules: -r, --rules-file=FILE Rules-file, multiple use is supported -g, --generate-rules=NUM Generate NUM random rules --generate-rules-func-min=NUM Force NUM functions per random rule min --generate-rules-func-max=NUM Force NUM functions per random rule max * Custom charsets: -1, --custom-charset1=CS User-defined charsets -2, --custom-charset2=CS Example: -3, --custom-charset3=CS --custom-charset1=?dabcdef -4, --custom-charset4=CS Sets charset ?1 to 0123456789abcdef * Permutation attack-mode specific: --perm-min=NUM Filter words shorter than NUM --perm-max=NUM Filter words larger than NUM ========== References ========== * Outfile Formats: 1 = hash[:salt] 2 = plain 3 = hash[:salt]:plain 4 = hex_plain 5 = hash[:salt]:hex_plain 6 = plain:hex_plain 7 = hash[:salt]:plain:hex_plain * Built-in charsets: ?l = abcdefghijklmnopqrstuvwxyz ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ?d = 0123456789 ?s = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ?h = 8 bit characters from 0xc0 - 0xff ?D = 8 bit characters from german alphabet ?F = 8 bit characters from french alphabet ?R = 8 bit characters from russian alphabet * Attack modes: 0 = Straight 1 = Combination 3 = Brute-force 4 = Permutation 6 = Hybrid dict + mask 7 = Hybrid mask + dict * Hash types: 0 = MD5 1 = Joomla 2 = osCommerce, xt:Commerce 5 = vBulletin < v3.8.5 9 = IPB 2.0, MyBB1.2 15 = vBulletin > v3.8.5 100 = SHA1 101 = SMF > v1.1 105 = OSX v10.4, v10.5, v10.6 300 = MySQL > v4.1 400 = phpass, MD5(Wordpress), MD5(phpBB3) 500 = md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5 600 = nsldap, SHA-1(Base64), Netscape LDAP SHA 700 = nsldaps, SSHA-1(Base64), Netscape LDAP SSHA 900 = MD4 1000 = NTLM 1100 = Domain Cached Credentials, mscash 1300 = MSSQL(2000) 1400 = SHA256 1500 = descrypt, DES(Unix), Traditional DES 1600 = md5apr1, MD5(APR), Apache MD5 2000 = Oracle 11g 2100 = Domain Cached Credentials2, mscash2 2300 = MSSQL(2005) 2400 = Cisco-PIX MD5 2500 = WPA/WPA2

--
atom
#2
I personally don't like the idea of having software names there instead of the used storage algorithm. Let's say I have a wbb hash. It's not in the list. So let's look up what storage algorithm is used. Got it... Damn what software uses this storage algorithm too and is also listed? So leads me to another lookup (which may or may not be successful). Also if i know i have a md5(salt.pass). Was this like Joomla or like osc? Always confuse these two. I think you get it. Such a list can never be near to complete and therefore can be a bit frustrating.

I prefer a list like
Code:
. 1 = md5(pass.salt) (e.g. Joomla) 2 = md5(salt.pass) (e.g. osCommerce, xt:Commerce) ...

btw, how about a "hash:plain" output format? With salts like in vb it can be kinda hard to tell where the salt ends and where the password starts.

can rules now be used in all available attack modes or is there a line missing in the output?
#3
that is actually not what this thread is about. i am seeking for some help in redesign. its more an optical thing than a technical.

however, here are your answers:

Quote:I personally don't like the idea of having software names there instead of the used storage algorithm. Let's say I have a wbb hash. It's not in the list. So let's look up what storage algorithm is used. Got it... Damn what software uses this storage algorithm too and is also listed? So leads me to another lookup (which may or may not be successful). Also if i know i have a md5(salt.pass). Was this like Joomla or like osc? Always confuse these two. I think you get it. Such a list can never be near to complete and therefore can be a bit frustrating.

I prefer a list like
Code:
. 1 = md5(pass.salt) (e.g. Joomla) 2 = md5(salt.pass) (e.g. osCommerce, xt:Commerce) ...

well this is just not "true". oclHashcat-plus will have special optimizations for this. joomla which uses a 32 byte salt for example. the parser will acccept only hashes with 32 byte salts. same applies to osc und xtc which have a 2 byte salt only. this way its also possible to optimize kernelcode and make it faster. thats the reason why not to stick to generic types.

Quote:btw, how about a "hash:plain" output format? With salts like in vb it can be kinda hard to tell where the salt ends and where the password starts.

yeah, true, but this would cause some deep changes that are currently not in sight.

Quote:can rules now be used in all available attack modes or is there a line missing in the output?

right, missed that
#4
Code:
6 = Hybrid dict + mask 7 = Hybrid mask + dict

↓

Code:
6 = Hybrid (dict + mask) 7 = Hybrid (mask + dict)
#5
and it would be nice have some:

======
Examples
======