You need to read the --help output of maskprocessor. If you do so, you will find 2 interesting options:
The -r option is what you are looking for. It lets you specify the maximum number of times a single character can occur in a line/plain.
In your case something like:
Please note that you should use the newest version of maskprocessor (mp v 0.72), since earlier versions had some problems with -r etc.
What regards your plan to try very, very hard to generate as little password candidates as possible and prioritize them, I would like to add some notes:
1. yes, but it may only make sense if you are 100% sure that this "policy" (no repetitive chars and maximum occurrence) is strictly followed.
2. it may sometimes just be better to throw faster and more GPUs at it, especially if the max occurrence restriction is not always adhered etc. at the end, if you didn't crack the hash(es) with -q / -r, it is even more complicated to try the "remaining plains" too (which do not follow the max occurrence policy etc) and easier to run the full mask
Code:
-q, --seq-max=NUM Maximum number of multiple sequential characters
-r, --occurrence-max=NUM Maximum number of occurrence of a character
The -r option is what you are looking for. It lets you specify the maximum number of times a single character can occur in a line/plain.
In your case something like:
Code:
mp -r 2 [your_mask] | cudaHashcat -m ...
Please note that you should use the newest version of maskprocessor (mp v 0.72), since earlier versions had some problems with -r etc.
What regards your plan to try very, very hard to generate as little password candidates as possible and prioritize them, I would like to add some notes:
1. yes, but it may only make sense if you are 100% sure that this "policy" (no repetitive chars and maximum occurrence) is strictly followed.
2. it may sometimes just be better to throw faster and more GPUs at it, especially if the max occurrence restriction is not always adhered etc. at the end, if you didn't crack the hash(es) with -q / -r, it is even more complicated to try the "remaining plains" too (which do not follow the max occurrence policy etc) and easier to run the full mask