hashcat Forum

Full Version: PrinceProcessor
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have an older WPA2 hccap file with a known xkcd-style password. For sake of discussion, let's say password is barnrabbitstampfork. If I manually create .txt file with said password and run -a 0, cudaHashcat64.bin finds it fine.  

If I create a dictionary file with only:

barn
rabbit
stamp
fork

#./pp64.bin < dictionary.txt | grep ^barnrabbit
barnrabbit
barnrabbitbarn
barnrabbitfork
barnrabbitstamp
barnrabbitrabbit

It doesn't generate the barnrabbitstampfork combination.  I'm missing something, but don't know what.  Is there a length limitation?
There is indeed a max length for princeprocessor.

https://github.com/hashcat/princeprocess...c/pp.c#L32

You'll need to modify the source, increase PW_MAX to at least 20 (in your case), and recompile.
I am not sure prince processor is actually what you want. Checkout hashcat-utils, you may have some better luck there. Look at the combinators and combipow first. That's likely to get you closer to what you want.
If we assume that the four words are Diceware-style, and truly chosen at random from a list, then for a four-word passphrase, princeprocessor would properly try "barnbarnbarnbarn', etc, but IIRC combipow will not.  Also, IIRC combipow is limited to a very short wordlist (like 64 words or something?). And getting the combinators to do four words is non-trivial. So I think recompiled princeprocessor is a pretty good fit here.

And you'll want to use "--elem-cnt-min=4" and "--elem-cnt-max=4" parameters to confine pp64 to exactly four words.

(And actually, if I had my druthers, if princeprocessor could be updated to accept a larger PW_MAX as a cmdline switch (even by significantly multiplying the size of the binary, by having multiple chunks of code, each optimized for a given PW_MAX), that would be cool, and make princeprocessor more suitable out of the box for this purpose)
(05-23-2018, 04:27 PM)royce Wrote: [ -> ]There is indeed a max length for princeprocessor.

https://github.com/hashcat/princeprocess...c/pp.c#L32

You'll need to modify the source, increase PW_MAX to at least 20 (in your case), and recompile.


Worked like a champ.  Now time to go do some benchmarks with varying wordlists we use.  Thanks for the quick response.
YW. Make sure that PW_MAX is 4x the length of your longest word. Enjoy!
(05-23-2018, 05:20 PM)royce Wrote: [ -> ]YW. Make sure that PW_MAX is 4x the length of your longest word. Enjoy!

Will do.  What is the significance of 4x the longest word though?
Assuming a dictionary whose longest word length is (for example) 12, and a four-word passphrase, then the maximum length of the entire passphrase is 12 x 4 = 48.