App-Greple-pw

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

    Automatically detects ID and password information using configurable
    keywords like "user", "account", "password", "pin", etc. Custom
    keywords can be configured to match your specific data format.

- **Browser integration**

    Includes browser automation features for automatically filling web
    forms with extracted credentials.

Some banks use random number matrices as a countermeasure for tapping.
If the module successfully guesses the matrix area, it blacks out the
table and remembers them.

      | A B C D E F G H I J
    --+--------------------
    0 | Y W 0 B 8 P 4 C Z H
    1 | M 0 6 I K U C 8 6 Z
    2 | 7 N R E Y 1 9 3 G 5
    3 | 7 F A X 9 B D Y O A
    4 | S D 2 2 Q V J 5 4 T

lib/App/Greple/PwBlock.pm  view on Meta::CPAN

	    $pre . $label . $match . $post;
	}xge;
	$_;
    }igex;

    $obj;
}

sub parse_matrix {
    my $obj = shift;
    my @area = guess_matrix_area($obj->{masked});
    my %matrix;
    $obj->{matrix} = \%matrix;

    for my $area (@area) {
	my $start = $area->[0];
	my $len = $area->[1] - $start;
	my $matrix = substr($obj->{masked}, $start, $len);
	$matrix =~ s{ \b (?<index>\d) \W+ \K (?<chars>.*) $}{
	    my $index = $+{index};
	    my $chars = $+{chars};

lib/App/Greple/PwBlock.pm  view on Meta::CPAN

	    }ge;
	    $chars;
	}xmge;
	substr($obj->{masked}, $start, $len) = $matrix;
	last; # process 1st segment only
    }

    $obj;
}
    
sub guess_matrix_area {
    my $text   = shift;
    my @text   = $text =~ /(.*\n|.+\z)/g;
    my @length = map { length } @text;
    my @words  = map { [ /(\w+)/g ] } @text;
    my @one    = map { [ grep { length == 1 } @$_ ] } @words;
    my @two    = map { [ grep { length == 2 } @$_ ] } @words;
    my @more   = map { [ grep { length >= 3 } @$_ ] } @words;
    my $series = 5;

    map  { [ sum(@length[0 .. $_->[0]]) - $length[$->[0]],

lib/App/Greple/pw.pm  view on Meta::CPAN

keywords can be configured to match your specific data format.

=item * B<Browser integration>

Includes browser automation features for automatically filling web
forms with extracted credentials.

=back

Some banks use random number matrices as a countermeasure for tapping.
If the module successfully guesses the matrix area, it blacks out the
table and remembers them.

    | A B C D E F G H I J
  --+--------------------
  0 | Y W 0 B 8 P 4 C Z H
  1 | M 0 6 I K U C 8 6 Z
  2 | 7 N R E Y 1 9 3 G 5
  3 | 7 F A X 9 B D Y O A
  4 | S D 2 2 Q V J 5 4 T



( run in 2.924 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )