after 20 revisions the code was cleanup and improved, here I'll try to explain the core changes:
. no more one unique global pattern_length for all character set (no more -p swich)
we can set now a pattern_lenght for every char, this can lead to user confusion, so I'll try to eleborate more:
the third line on CONFIGFILE is now readed as single pattern_lenght for the respective char listed at first line (the character set), so we can now exclude patterns like: abcd, tu, mnopq, xyz... but include abc, mnop, xy
user can get the same effect of old default -p 3 by feeding the third line with '3' for all the chars listed at first line.
. added a simple, but useful tutorial mode
this mode let user check what's goin'on when a skip will be done stopping generation of word (until user input), user can read output to understand how bruteforge is doing a jump into bruteforce generation flow, to help understanding how setup CONFIGFILE about second and third line, maybe the hardest to get by user;
this mode it's only useful to understand! (yes, understand: that's seems very important)
. shifted variant will be a mode
I've never added this mode due generation of duplicated, who want skip useless words but reelaborate something agaist duplicated records?
so I've thinked to add this features as -F (the Filter mode), where user must pass an existent unique wordlist to perform word shifting on STDOUT, but validating every shifted variant over criteria!
user will be warned about duplicated words, so user should filter later them out with some other technique, that's seems finally the right implementation to this mode!
. linking gmplib static by default, and some bug (buffer overflow) were fixed, memory accesses are optimized (I've to test if I got improvement also on ppc)
. new skipping rules can be easily added (if you have some ideas, leave a comment below)
here the new bruteforge 0.70r02, x86 ELF 32-bit executable, statically linked and stripped, for free!
post your question, user
I've to update documantation aswell.
UPDATE #2, early 2017
bruteforge is being rewritten