If you are using just a few rules (or possibly even just 1), you can use -j/-k together with -a1 for each and every rule:
otherwise you can just use pipes (either with combinator.bin or with hashcat's --stdout option):
of course hashcat now isn't able to know how much input it will get (it can't determine the input size), therefore you will get regular status updates (without the remaining time - ETA - and without the total number of password candidates, i.e. to determine how much "keyspace" is left)
Code:
hashcat -m 1000 -a 1 -w 4 -j "$1 $2 $3" hash.txt dict1.txt dict2.txt
otherwise you can just use pipes (either with combinator.bin or with hashcat's --stdout option):
Code:
combinator.bin dict1.txt dict2.txt | hashcat -m 1000 -a 0 -w 4 -r rules.txt hash.txt
of course hashcat now isn't able to know how much input it will get (it can't determine the input size), therefore you will get regular status updates (without the remaining time - ETA - and without the total number of password candidates, i.e. to determine how much "keyspace" is left)