Toggle Rule
#11
i wrote a simple script for this:

Code:
#!/usr/bin/perl

use strict;
use warnings;

my $db2;

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

  my $db1;

  my $line_len = length ($line);

  my $i;

  for ($i = 0; $i < $line_len; $i += 2)
  {
    my $t = substr ($line, $i, 2);

    last if (exists $db1->{$t});

    $db1->{$t} = undef;
  }

  next if ($i < $line_len);

  my @sorted_keys = sort keys %{$db1};

  my $sorted_keys_s = join ("", @sorted_keys);

  next if (exists $db2->{$sorted_keys_s});

  $db2->{$sorted_keys_s} = undef;

  print "$line\n";
}

and then run the commands:

Quote:$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles1.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles2.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles5.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles2.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles5.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule

ofc you can add more if your like.
#12
Wow thank you very much for the full explanation !

You make me feel really stupid and have done so on more than one occasion, I get quite depressed on this forum at times !!! Smile I wish I was as clever as you and some of the others on here.

I will look at your code, I understand the mp bit and that it runs though that script thingy (which I cannot follow at all) but I will struggle on.

Oh and this...
atom Wrote:i wrote a simple script

We clearly have different definitions of the word simple !

http://dictionary.reference.com/browse/simple

Smile
#13
OK here you go...

I hope I got it right and don't let anyone down. When I manage to run it I will post the smaller rule files but for anyone who can't wait for me to work that bit out I have done the boring bit for you !! Smile

32Bit

$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles1.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles2.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles2.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp32.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule


64Bit

$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles1.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles2.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles2.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles3.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles4.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles5.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles6.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles7.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles8.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles9.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles10.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles11.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles12.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles13.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles14.rule
$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule

$ mp64.bin -1 0123456789ABCDE 'T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1T?1' | perl optimize_toggle.pl >> toggles15.rule
#14
Would you believe it !!!

I run Backtrack from a USB flash drive and it is taking forever to run this.

If anyone here has the hardware to run the above would you please post a copy of the finished rules ?

It does seem to work ok but for some reason it is really slow on my old laptop, I did do the boring bit for you !! ha ha !! Smile

#15
this makes no sense at all. if you want all possible toggle-cases use hashcat in --stdout mode and pipe it into oclHashcat-plus. no rules needed at all.

this technique, using rules, is an very fine optimization. please read again the first sentence of http://hashcat.net/wiki/toggle_attack_with_rules
#16
Thank you for the link and explanation, I understand what you are saying about piping from hashcat, which is something I shall certainly try.

I also understand your approach and theory about people capitalising only a few characters in a given password and your method to optimise an attack exploiting this behaviour, which I must say is very clever.

I personally, and it is only my personal opinion, like to make very small word lists tailored towards each task separately. It means I don’t need to optimise my tests as much as other users because my lists are so small and I am only playing if I am honest about it. I don’t do it for a job or anything, just a hobby.

I first like to start with a straight pass of my word lists, then move on to a simple rule-set. If this still fails I carefully select my lists and manipulate them in my own way, mainly guesswork I must admit, but I like to “tinker” as it is part of the fun.

I have many graduated rule-sets and these additional options (above) allowing me to toggle to varying degrees is just another part of it. I simply hoped the rule lists above would give users more choice and it was a way I could contribute, albeit in a very small way, to hashcatplus.

Anyway, I hope that explains my approach a little better and thanks again for your patience.
#17
i know you want contribute, much thanks for that! in fact, with every word written here on forums it is a good contribution. people read this while they are searching for something. its like a big FAQ. please continue to do so Smile