����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/usr/bin/perl -w
use strict;
use lib 'blib/lib';
use Regexp::Assemble;
use Data::PowerSet;
use Algorithm::Combinatorics 'combinations';
my $end = shift || 'e'; # generate the power set of the elements 'a' .. $end
my $set = [sort {join('' => @$a) cmp join('' => @$b)}
@{Data::PowerSet::powerset( {min=>1}, 'a'..$end )}
];
$| = 1;
print "## size of powerset = ", scalar(@$set), "\n";
my $nr = 0;
for my $sel (@ARGV) {
my $p = combinations($set,$sel);
while (defined(my $s = $p->next)) {
++$nr;
my $short = Regexp::Assemble->new;
$short->insert(@$_) for @$s;
my $long = Regexp::Assemble->new;
$long->insert('^', @$_, '$') for @$s;
my $sh = $short->as_string;
my $lg = $long->as_string;
$s = [map {join '' => @$_} @$s];
printf "%9d %2d %s $lg\n", $nr, $sel, "@$s" unless $nr % 10000;
my %expected = map{($_,$_)} @$s;
if( "^$sh\$" ne $lg ) {
$lg =~ s/^\^//;
$lg =~ s/\$$//;
for my $t ( @$s) {
if( $expected{$t} ) {
next if $t =~ /$long/;
printf "%5d %-50s %s\n", $nr, $lg, "@$s";
print "l: $t should have been matched\n";
last;
}
else {
next if $t !~ /$long/;
printf "%5d %-50s %s\n", $nr, $lg, "@$s";
print "l: $t should not have been matched\n";
last;
}
}
my $short_str = '^' . $sh . '$';
my $short_re = qr/$short_str/;
for my $t ( @$s) {
if( $expected{$t} ) {
next if $t =~ /$short_re/;
printf "%5d %-50s %s\n", $nr, $sh, "@$s";
print "s: $t should have been matched\n";
last;
}
else {
next if $t !~ /$short_re/;
printf "%5d %-50s %s\n", $nr, $sh, "@$s";
print "s: $t should not have been matched\n";
last;
}
}
}
else {
for my $t ( @$s) {
if( $expected{$t} ) {
next if $t =~ /$long/;
printf "%5d %-50s %s\n", $nr, $lg, "@$s";
print "$t should have been matched\n";
last;
}
else {
next if $t !~ /$long/;
printf "%5d %-50s %s\n", $nr, $sh, "@$s";
print "$t should not have been matched\n";
last;
}
}
}
}
print "# $sel $nr\n";
}
print "$nr combinations examined\n";
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| hostmatch | Folder | 0755 |
|
|
| assemble | File | 4.88 KB | 0644 |
|
| debugging | File | 2.82 KB | 0644 |
|
| failure.01.pl | File | 1.56 KB | 0644 |
|
| fee | File | 284 B | 0644 |
|
| file.1 | File | 20 B | 0644 |
|
| file.2 | File | 21 B | 0644 |
|
| file.3 | File | 16 B | 0644 |
|
| file.4 | File | 19 B | 0644 |
|
| ircwatcher | File | 1.14 KB | 0644 |
|
| naive | File | 1.43 KB | 0644 |
|
| roman | File | 610 B | 0644 |
|
| stress-test.pl | File | 2.73 KB | 0644 |
|
| tld | File | 608 B | 0644 |
|
| track-5.10 | File | 308 B | 0644 |
|
| unquotemeta | File | 395 B | 0644 |
|