Rule Piping Request
#11
You are of course correct, pre sorting a list would be much better. I was just thinking out loud about the possibilities of the 2 piped rules that’s all. I just think it is a really good idea and it would be nice to be able to have this ability. I’m just trying to get you interested in it to be honest.

The above isn’t the most useful part of the 2 rule request, but just another additional benefit to it. I think the main benefit will come in the form of smaller and easier to manage rule lists.

I am always trying to reduce code, lists or rules etc, I’m not sure why I do it, so maybe it is only me who is interested in this feature.

Thanks for at least thinking about this, you are undoubtedly better qualified to think of this requests benefits and can probably think of more reasons for it than I can.

I just hope you think its good enough to add to hashcatplus.

Quote:a simple perl script can do this.

Simple for you maybe but I am not as clever as you !! Big Grin

Thank you.

#12
here is a perl version. not the fastest, but had to write it quickly. maybe i add a filtering tool to hashcat-utils. till that, use this:

$ perl calc.pl < in.dict > out.dict

Code:
#!/usr/bin/env perl

use strict;
use warnings;

while (my $line = <>)
{
  chomp ($line);

  my @chrs = split "", $line;

  my $f = 0;

  for my $chr (@chrs)
  {
    my $c = ord ($chr);

    if (($c < 0x20) || ($c > 0x7f))
    {
      $f = 1;

      last;
    }
  }

  next if $f;

  print $line, "\n";
}
#13
That is extremely kind of you atom, thank you very, very much ! Big Grin

I have just wasted a long time today trying to find something suitable for everyone here and I return to find this !!! It always seems better when it has been “atomised” !!

I hope you read the following in the way it was intended, I have a feeling you are like someone I used to know. Very intelligent, to a point where he just didn’t understand normal people and the trouble they have with things. Please don’t loose touch with humble users and how they struggle with stuff, what may seem very simple to you is insurmountable to normal people !

Thanks again for the script and I really do hope you do add a filtering tool to the utilities.

#14
look:

Quote:root@sf:~/oclHashcat-plus-0.07# cat t.rule
$0
$1
$2
$3
$4
$5
$6
$7
$8
$9
root@sf:~/oclHashcat-plus-0.07# cat word
test
root@sf:~/oclHashcat-plus-0.07# echo -n test123 | md5sum
cc03e747a6afbbcbf8be7668acfebee5 -
root@sf:~/oclHashcat-plus-0.07# ./oclHashcat-plus64.bin --quiet -r t.rule -r t.rule -r t.rule cc03e747a6afbbcbf8be7668acfebee5 word
cc03e747a6afbbcbf8be7668acfebee5:test123
root@sf:~/oclHashcat-plus-0.07#

Smile Smile Smile Smile Smile Smile Smile Smile
#15
[Image: funny-pictures-cat-likes-the-kick.jpg]

Big Grin

#16
Smile How do you do it all so fast ?

This is brilliant atom, well done and thank you so much ! Just think how much smaller rule files can be now !

I am wondering how you decided to make it work ? Is it like I hoped ?

List 1
l
c
d

List 2
$0
$1
$2
$3
$4
$5
$6
$7
$8
$9

oclHashcat-plus64.bin -r list1.rule -r list2.rule

l$0
l$1
l$2
l$3
l$4
l$5
l$6
l$7
l$8
l$9

then

c$0
c$1
c$2
c$3
c$4
c$5
c$6
c$7
c$8
c$9

So this means taking the first from list1 and then running down the entire list 2. Then taking the second from list 1 and so on.

I couldn’t tell from your example.

Awesome feature though, I am very grateful.

#17
yes, its exactly implemented this way. to be exact, its more than that. instead of just use 2 rule files, you can use up to 4 of them. this way, with some example minirules, we can emulate those "easy clickable" mutation attacks like ewsa or cain is doing it. add_all_lowercase.rule, add_digits_0-999.rule, lower_upper_capitalize.rule, stuff like that... oh wow, we can even add some enhanced rules in between Smile
#18
Big Grin Oh thank you soooo much atom. This is just what I wanted ! Rule files can be tiny now !!!

A hierarchical cascade !!! Great !

I thought I would start on the instructions for this new feature. Do you think the following explains it well enough for the wiki ?

Password lists = test

Code:
List 1      List2        List 3        List 4
  l          ^1            $1            $a
  u          ^2            $2            $b
  c          ^3            $3            $c

So passwords tested in order would be …

1test1a
1test1b
1test1c

1test2a
1test2b
1test2c

1test3a
1test3b
1test3c

2test1a
2test1b
2test1c

2test2a
2test2b
2test2c

2test3a
2test3b
2test3c

3test1a
3test1b
3test1c

3test2a
3test2b
3test2c

3test3a
3test3b
3test3c

1TEST1a
1TEST1b
1TEST1c

etc
#19
yes, its ok
#20
is it working now?