Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BigBear

#331
Scripting / [Perl Tk] BingHack Tool 0.1
26 Mayo 2012, 16:02 PM
Version Tk de un script en Perl para buscar paginas vulnerables a SQLi usando Bing.

Una imagen



El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#BingHack Tool 0.1
#Version Tk
#Coded By Doddy H

use Tk;
use LWP::UserAgent;

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

my $color_fondo = "black";
my $color_texto = "green";

if ( $^O eq 'MSWin32' ) {
    use Win32::Console;
    Win32::Console::Free();
}

my $hj =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$hj->geometry("600x285+20+20");
$hj->resizable( 0, 0 );
$hj->title("BingHack Tool 0.1");

$hj->Label(
    -text       => "Dork : ",
    -font       => "Impact1",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 18, -y => 22 );
my $dork = $hj->Entry(
    -width      => 30,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 68, -y => 26 );

$hj->Label(
    -text       => "Pages : ",
    -font       => "Impact1",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 270, -y => 22 );
my $pages = $hj->Entry(
    -width      => 10,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 335, -y => 26 );

$hj->Button(
    -text             => "Search",
    -width            => 10,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto,
    -command          => \&search
)->place( -x => 420, -y => 26 );
$hj->Button(
    -text             => "Logs",
    -width            => 10,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto,
    -command          => \&logs
)->place( -x => 495, -y => 26 );

$hj->Label(
    -text       => "Links Found",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 110, -y => 80 );
my $links = $hj->Listbox(
    -width      => 40,
    -height     => 10,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 30, -y => 120 );

$hj->Label(
    -text       => "SQLi Found",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 390, -y => 80 );
my $founds = $hj->Listbox(
    -width      => 40,
    -height     => 10,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 310, -y => 120 );

MainLoop;

sub search {

    $links->delete( "0.0", "end" );
    $founds->delete( "0.0", "end" );

    $hj->update;
    $hj->title("BingHack Tool 0.1 [+] Status : Searching");
    my @urls = bing( $dork->get, $pages->get );
    $hj->update;

    for (@urls) {
        $hj->update;
        $links->insert( "end", $_ );
    }

    $hj->title("BingHack Tool 0.1 [+] Status : Scanning");

    for my $pa (@urls) {
        $hj->update;
        sql($pa);
    }
    $hj->update;
    $hj->title("BingHack Tool 0.1");
}

sub logs {

    my $file = "sql-logs.txt";

    if ( -f $file ) {
        system($file);
    }
    else {
        $hj->Dialog(
            -title            => "Error",
            -buttons          => ["OK"],
            -text             => "Logs not found",
            -background       => $color_fondo,
            -foreground       => $color_text,
            -activebackground => $color_text
        )->Show();
    }
}

sub sql {
    my ( $pass1, $pass2 ) = ( "+", "--" );
    my $page = shift;

    my $testar1 = toma( $page . $pass1 . "and" . $pass1 . "1=0" . $pass2 );
    my $testar2 = toma( $page . $pass1 . "and" . $pass1 . "1=1" . $pass2 );

    unless ( $testar1 eq $testar2 ) {
        $founds->insert( "end", $page );
        savefile( "sql-logs.txt", $page );
    }
}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub bing {

    my ( $a, $b ) = @_;
    for ( $pages = 10 ; $pages <= $b ; $pages = $pages + 10 ) {
        $hj->update;
        my $code =
          toma( "http://www.bing.com/search?q=" . $a . "&first=" . $pages );

        while ( $code =~ /<h3><a href="(.*?)"/mig ) {
            push( @founds, $1 );
        }
    }
    my @founds = repes( cortar(@founds) );
    return @founds;
}

sub repes {
    my @limpio;
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

sub cortar {
    my @nuevo;
    for (@_) {
        if ( $_ =~ /=/ ) {
            @tengo = split( "=", $_ );
            push( @nuevo, @tengo[0] . "=" );
        }
        else {
            push( @nuevo, $_ );
        }
    }
    return @nuevo;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

#The End ?
#332
Scripting / [Perl] BingHack Tool 0.1
26 Mayo 2012, 16:02 PM
Un simple script en perl para buscar paginas vulnerables a SQLi usando Bing.

El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#BingHack Tool 0.1
#Coded By Doddy H

use LWP::UserAgent;

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

head();
print "\n\n[+] Dork : ";
chomp( my $dork = <stdin> );
print "\n[+] Pages : ";
chomp( my $pags = <stdin> );
print "\n[+] Searching ...\n";
my @urls = bing( $dork, $pags );
print "\n[+] Pages Found : " . int(@urls) . "\n";
print "\n[+] Scanning ...\n\n";

for my $pa (@urls) {
    sql($pa);
}
print "\n[+] Finished\n";

copyright();

sub sql {
    my ( $pass1, $pass2 ) = ( "+", "--" );
    my $page = shift;

    my $testar1 = toma( $page . $pass1 . "and" . $pass1 . "1=0" . $pass2 );
    my $testar2 = toma( $page . $pass1 . "and" . $pass1 . "1=1" . $pass2 );

    unless ( $testar1 eq $testar2 ) {
        print "[+] SQLI : $page\a\n";
        savefile( "sql-logs.txt", $page );
    }
}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub bing {

    my ( $a, $b ) = @_;
    for ( $pages = 10 ; $pages <= $b ; $pages = $pages + 10 ) {
        my $code =
          toma( "http://www.bing.com/search?q=" . $a . "&first=" . $pages );

        while ( $code =~ /<h3><a href="(.*?)"/mig ) {
            push( @founds, $1 );
        }
    }
    my @founds = repes( cortar(@founds) );
    return @founds;
}

sub repes {
    my @limpio;
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

sub cortar {
    my @nuevo;
    for (@_) {
        if ( $_ =~ /=/ ) {
            @tengo = split( "=", $_ );
            push( @nuevo, @tengo[0] . "=" );
        }
        else {
            push( @nuevo, $_ );
        }
    }
    return @nuevo;
}

sub head {
    print qq(

@@@@   @             @    @              @        @@@@@              @
@   @                @    @              @          @                @
@   @                @    @              @          @                @
@   @  @ @ @@   @@@@ @    @   @@@   @@@  @  @       @     @@@   @@@  @
@@@@   @ @@  @ @   @ @@@@@@      @ @   @ @ @        @    @   @ @   @ @
@   @  @ @   @ @   @ @    @   @@@@ @     @@         @    @   @ @   @ @
@   @  @ @   @ @   @ @    @  @   @ @     @ @        @    @   @ @   @ @
@   @  @ @   @ @   @ @    @  @   @ @   @ @  @       @    @   @ @   @ @
@@@@   @ @   @  @@@@ @    @   @@@@  @@@  @   @      @     @@@   @@@  @
                    @                                                 
                @@@@                                                   

);
}

sub copyright {
    print "\n\n-- == (C) Doddy Hackman 2012\n\n";
    <stdin>;
    exit(1);
}

sub toma {
    return $nave->get( $_[0] )->content;
}

# The End ?
#333
Scripting / [Perl Tk] Scan Port 0.6
19 Mayo 2012, 17:30 PM
Nueva version Tk de un scanner de puertos que hice.

Una imagen



El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#ScanPort 0.6
#Version Tk
#Coded By Doddy H

use Tk;
use IO::Socket;

my $color_fondo = "black";
my $color_texto = "green";

if ( $^O eq 'MSWin32' ) {
    use Win32::Console;
    Win32::Console::Free();
}

my $kax =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$kax->geometry("422x130+20+20");
$kax->resizable( 0, 0 );
$kax->title("Scan Port 0.6 || Coded By Doddy H");

$kax->Label(
    -text       => "Host : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 20 );
my $hostx = $kax->Entry(
    -width      => 30,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 68, -y => 26 );
$kax->Label(
    -text       => "From port : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 50 );
my $startx = $kax->Entry(
    -width      => 8,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 100, -y => 55 );
$kax->Label(
    -text       => "To : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 170, -y => 50 );
my $endx = $kax->Entry(
    -width      => 8,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 200, -y => 55 );

$kax->Label(
    -text       => "Progress : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 84 );
my $tatus = $kax->Entry(
    -width      => 8,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 100, -y => 90 );
$kax->Button(
    -text             => "Fast",
    -width            => 6,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto,
    -command          => \&scanuno
)->place( -x => 158, -y => 88 );
$kax->Button(
    -text             => "Full",
    -width            => 6,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto,
    -command          => \&scandos
)->place( -x => 208, -y => 88 );

$kax->Label(
    -text       => "Port Found",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 305, -y => 20 );
my $porters = $kax->Listbox(
    -width      => 20,
    -height     => 4,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 280, -y => 50 );

MainLoop;

sub scanuno {

    my %ports = (
        "21"   => "ftp",
        "22"   => "ssh",
        "25"   => "smtp",
        "80"   => "http",
        "110"  => "pop3",
        "3306" => "mysql"
    );

    $porters->delete( "0.0", "end" );
    $tatus->configure( -text => " " );

    for my $port ( keys %ports ) {
        $kax->update;
        $tatus->configure( -text => $port );
        if (
            new IO::Socket::INET(
                PeerAddr => $hostx->get,
                PeerPort => $port,
                Proto    => "tcp",
                Timeout  => 0.5
            )
          )
        {
            $porters->insert( "end", $port );
        }
    }
    $tatus->configure( -text => " " );
}

sub scandos {

    $porters->delete( "0.0", "end" );
    $tatus->configure( -text => " " );

    for my $port ( $startx->get .. $endx->get ) {
        $kax->update;
        $tatus->configure( -text => $port );
        if (
            new IO::Socket::INET(
                PeerAddr => $hostx->get,
                PeerPort => $port,
                Proto    => "tcp",
                Timeout  => 0.5
            )
          )
        {
            $porters->insert( "end", $port );
        }
    }
    $tatus->configure( -text => " " );
}

# The End ?


#334
Scripting / [Perl] Scan Port 0.6
19 Mayo 2012, 17:30 PM
Un simple scanner port hecho en Perl.

Código (perl) [Seleccionar]

#!usr/bin/perl
#ScanPort 0.6
#Coded By Doddy H
#Examples
#perl scan.pl -target localhost -option fast
#perl scan.pl -target localhost -option full -parameters 1-100

use IO::Socket;
use Getopt::Long;

GetOptions(
    "-target=s"     => \$target,
    "-option=s"     => \$opcion,
    "-parameters=s" => \$parameters
);

head();
unless ($target) {
    sintax();
}
else {
    if ( $opcion eq "fast" ) {
        scanuno($target);
    }
    if ( $opcion eq "full" and $parameters ) {
        if ( $parameters =~ /(.*)-(.*)/ ) {
            my $start = $1;
            my $end   = $2;
            scandos( $target, $start, $end );
        }
    }
}

copyright();

sub scanuno {

    my %ports = (
        "21"   => "ftp",
        "22"   => "ssh",
        "25"   => "smtp",
        "80"   => "http",
        "110"  => "pop3",
        "3306" => "mysql"
    );

    print "\n[+] Scanning $_[0]\n\n\n";

    for my $port ( keys %ports ) {

        if (
            new IO::Socket::INET(
                PeerAddr => $_[0],
                PeerPort => $port,
                Proto    => "tcp",
                Timeout  => 0.5
            )
          )
        {
            print "[+] Port Found : "
              . $port
              . " [Service] : "
              . $ports{$port} . "\n";
        }
    }
    print "\n\n[+] Scan Finished\n";
}

sub scandos {

    print "\n[+] Scanning $_[0]\n\n\n";

    for my $port ( $_[1] .. $_[2] ) {

        if (
            new IO::Socket::INET(
                PeerAddr => $_[0],
                PeerPort => $port,
                Proto    => "tcp",
                Timeout  => 0.5
            )
          )
        {
            print "[+] Port Found : $port\n";
        }
    }
    print "\n\n[+] Scan Finished\n";
}

sub head {
    print "\n-- == ScanPort 0.6 == --\n\n";
}

sub copyright {
    print "\n\n-- == (C) Doddy Hackman 2012 == --\n\n";
}

sub sintax {
    print
"\n[+] sintax : $0 -target <target> -option fast/full -parameters <1-9999>\n";
}

# The End ?

#335
Scripting / [Perl Tk] Proxy Tester 0.5
12 Mayo 2012, 20:52 PM
Version Tk de un programa para buscar proxies de forma online.

Una imagen



El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Proxy Tester 0.5
#Version Tk
#Coded By Doddy H

use Cwd;
use Tk;
use Tk::FileSelect;
use Tk::Dialog;
use LWP::UserAgent;

my $nave = LWP::UserAgent->new();
$nave->timeout(5);
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);

#if ($^O eq 'MSWin32') {
#use Win32::Console;
#Win32::Console::Free();
#}

my $color_texto = "green";
my $color_fondo = "black";

my $newd =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );

$newd->title("Proxy Tester 0.5");
$newd->geometry("370x250+50+50");
$newd->resizable( 0, 0 );

$menula = $newd->Frame(
    -relief     => "sunken",
    -bd         => 1,
    -background => $color_fondo,
    -foreground => $color_texto
);
my $menulnowax = $menula->Menubutton(
    -text             => "Options",
    -underline        => 1,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->pack( -side => "left" );
my $aboutnowax = $menula->Menubutton(
    -text             => "About",
    -underline        => 1,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->pack( -side => "left" );
my $exitnowax = $menula->Menubutton(
    -text             => "Exit",
    -underline        => 1,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->pack( -side => "left" );
$menula->pack( -side => "top", -fill => "x" );

$menulnowax->command(
    -label      => "Load Wordlist",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&loadword
);
$menulnowax->command(
    -label      => "Check Online",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&scan
);
$menulnowax->command(
    -label      => "Open Logs",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&openlogs
);

$aboutnowax->command(
    -label      => "About",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&aboutxa
);

$exitnowax->command(
    -label      => "Exit",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&exitnow
);

$newd->Label(
    -text       => "Proxy OK",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 40, -x => 75 );
my $proxy_buenos =
  $newd->Listbox( -background => $color_fondo, -foreground => $color_texto )
  ->place( -y => "80", -x => "40" );

$newd->Label(
    -text       => "Proxy Failed",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 40, -x => 220 );
my $proxy_malos =
  $newd->Listbox( -background => $color_fondo, -foreground => $color_texto )
  ->place( -y => "80", -x => "200" );

MainLoop;

sub openlogs {
    my $f = "proxy-founds.txt";
    if ( -f $f ) {
        system($f);
    }
    else {
        $newd->Dialog(
            -title            => "Error",
            -buttons          => ["OK"],
            -text             => "File Not Found",
            -background       => $color_fondo,
            -foreground       => $color_texto,
            -activebackground => $color_texto
        )->Show();
    }
}

sub loadword {

    my $newdax = MainWindow->new(
        -background => $color_fondo,
        -foreground => $color_texto
    );

    $newdax->title("Load Wordlist");
    $newdax->geometry("460x50+50+50");
    $newdax->resizable( 0, 0 );

    $newdax->Label(
        -text       => "File : ",
        -font       => "Impact1",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -y => 10, -x => 10 );
    my $filex = $newdax->Entry(
        -width      => 40,
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -y => 13, -x => 50 );
    $newdax->Button(
        -text             => "Browse",
        -width            => 10,
        -command          => \&bro,
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_texto
    )->place( -y => 13, -x => 300 );
    $newdax->Button(
        -text             => "Load",
        -width            => 10,
        -command          => \&pasouno,
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_texto
    )->place( -y => 13, -x => 375 );

    sub bro {
        $newd->update;
        $browse = $newd->FileSelect( -directory => getcwd() );
        my $file = $browse->Show;
        $filex->configure( -text => $file );
    }

    sub pasouno {

        my $file = $filex->get;
        $newdax->destroy();

        if ( -f $file ) {

            open( FILE, $file );
            my @words = <FILE>;
            close FILE;

            chomp @words;

            my @proxies = repes(@words);

            $proxy_buenos->delete( 0.0, "end" );
            $proxy_malos->delete( 0.0, "end" );

            $newd->title("Proxy Tester 0.5 [+] Status : Testing ...");

            for my $pro (@proxies) {
                chomp $pro;
                $newd->update;
                if ( testnow($pro) ) {
                    $proxy_buenos->insert( "end", $pro );
                }
                else {
                    $proxy_malos->insert( "end", $pro );
                }

            }

        }
        else {
            $newd->Dialog(
                -title            => "Error",
                -buttons          => ["OK"],
                -text             => "File Not Found",
                -background       => $color_fondo,
                -foreground       => $color_texto,
                -activebackground => $color_texto
            )->Show();
        }
    }
    $newd->title("Proxy Tester 0.5");
}

sub scan {

    $proxy_buenos->delete( 0.0, "end" );
    $proxy_malos->delete( 0.0, "end" );

    $newd->title("Proxy Tester 0.5 [+] Status : Searching ...");

    my @uno = getproxys();
    my @dos = getxroxy();

    #my @tres = proxyip();
    #my @cuatro = proxylist();
    #my @cinco = proxies(); #big list

    my @total = ( @uno, @dos, @tres, @cuatro, @cinco );

    $newd->update;
    $newd->title("Proxy Tester 0.5 [+] Status : Testing ...");

    my $cont = "0";
    for (@total) {
        $newd->update;
        if ( testnow($_) ) {
            $cont++;
            print "\a";    #BEEP
        }
    }
    $newd->title("Proxy Tester 0.5");
}

sub testnow {

    my $ver = shift;

    my $pro;
    my $host;
    my $port;
    my $country;
    my $save;

    my $test_proxy = LWP::UserAgent->new();
    $test_proxy->timeout(5);
    $test_proxy->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
    );

    if ( $ver =~ /(.*):(.*)/ ) {
        ( $host, $port, $country ) = ( $1, $2, "Unknown" );
        $save = $host . ":" . $port;
    }

    if ( $ver =~ /(.*):(.*):(.*)/ ) {
        ( $host, $port, $country ) = ( $1, $2, $3 );
        $save = $host . ":" . $port . ":" . $country;
    }

    my $pro = $host . ":" . $port;

    $test_proxy->proxy( "http", "http://" . $pro );
    my $code = $test_proxy->get("http://www.whatismyip.com/")->content;

    if ( $code =~ /Your IP Address Is/ ) {
        savefile( "proxy-founds.txt", $save );
        return true;
    }
}

sub getproxys {

    my @founds;
    my @volver;

    for my $num ( 1 .. 5 ) {
        $newd->update;
        my $code = toma(
"http://www.proxys.com.ar/index.php?act=list&port=&type=&country=&page=$num"
        );

        while ( $code =~
/<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'">(.*?)<\/tr>/sig
          )
        {
            my $porcion = $1;
            chomp $porcion;

            if ( my @total = $porcion =~ m{<\s*td\s*>\s*(.*?)\s*</\s*td}mig ) {
                push( @founds, $total[1] . ":" . $total[2] . ":" . $total[4] );
            }
        }
    }

    my @volver = repes(@founds);
    return @volver;

}

sub getxroxy {

    my @founds_final;
    my @founds;

    for my $num ( 0 .. 26 ) {
        $newd->update;
        open( FILE, ">>proxy.txt" );

        my $code = toma(
"http://www.xroxy.com/proxylist.php?port=&type=&ssl=&country=&latency=1000&reliability=&sort=reliability&desc=true&pnum=$num"
        );

        while ( $code =~
            /proxy:name=XROXY proxy&host=(.*?)&port=(.*?)&notes=(.*?)&/sig )
        {
            my ( $ip, $port, $pais ) = ( $1, $2, $3 );
            $port =~ s/&isSocks=true//sig;
            $port =~ s/&socksversion=4a//sig;
            push( @founds, "$ip:$port:$pais" );
            print FILE "$ip:$port\n";
        }
    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub proxies {

    my @founds_final;
    my @founds;

    for my $i ( 1 .. 10 ) {
        $newd->update;
        my $code =
          toma( "http://proxies.my-proxy.com/proxy-list-" . $i . ".html" );

        my @found = $code =~ m/(\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}:\d+)/g;

        for (@found) {
            push( @founds, "$_:Unknown" );
        }

    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub proxyip {

    my @founds_final;
    my @founds;

    my $code = toma("http://proxy-ip-list.com/free-usa-proxy-ip.html");

    if ( $code =~ /<tbody class="table_body">(.*?)<\/table>/sig ) {
        my $codedos = $1;

        while ( $codedos =~
/<tr><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><\/tr>/mig
          )
        {
            my ( $ip, $pais ) = ( $1, $5 );
            push( @founds, "$ip:$pais" );
        }
    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub proxylist {

    my @founds_final;
    my @founds;

    my $code = toma("http://www.proxylist.net/");

    while ( $code =~
/<tr><td><a href="(.*?)">(.*?)<\/a><\/td><td><a href="(.*?)">(.*?)<\/a><\/td>/mig
      )
    {
        my ( $ip, $pais ) = ( $2, $4 );
        push( @founds, "$ip:$pais" );
    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub aboutxa {

    $newd->Dialog(
        -title            => "About",
        -buttons          => ["OK"],
        -text             => "Coded By Doddy H",
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_texto
    )->Show();

}

sub exitnow { exit 1; }

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

sub repes {
    my @limpio;
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

#The End ?
#336
Scripting / [Perl] Proxy Tester 0.5
12 Mayo 2012, 20:51 PM
Version mejorada de un programa para buscar proxies de forma online para despues verificar el estado de cada uno.

El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Proxy Tester 0.5
#Coded By Doddy H

use LWP::UserAgent;

my $nave = LWP::UserAgent->new();
$nave->timeout(5);
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);

while (1) {
    head();
    print "\n[+] Option : ";
    chomp( my $op = <stdin> );

    if ( $op eq "1" ) {
        print "\n\n[+] File : ";
        chomp( my $file = <stdin> );
        if ( -f $file ) {
            print "\n[+] Opening file ...\n\n";
            open( FILE, $file );
            my @words = <FILE>;
            close FILE;
            my @proxies = repes(@words);
            print "[+] Proxies Found : " . int(@proxies) . "\n";
            print "\n[+] Testing ....\n\n";
            my $cont = "0";

            for (@proxies) {
                if ( testnow($_) ) {
                    $cont++;
                    print "\a";    #BEEP
                }
            }
            print "\n[+] Proxies Found : " . $cont . "\n";
            print "\n\n[+] Finished\n\n";
            <stdin>;
        }
        else {
            print "\n\n[-] File not found\n";
            copyright();
        }
    }

    if ( $op eq "2" ) {
        print "\n\n[+] Getting proxies ...\n\n";

        my @uno    = getproxys();
        my @dos    = getxroxy();
        my @tres   = proxyip();
        my @cuatro = proxylist();
        my @cinco  = proxies();     #big list

        my @total = ( @uno, @dos, @tres, @cuatro, @cinco );

        print "[+] Proxies Found : " . int(@total) . "\n";
        print "\n[+] Testing .....\n\n";

        my $cont = "0";
        for (@total) {
            if ( testnow($_) ) {
                $cont++;
                print "\a";         #BEEP
            }
        }

        print "\n[+] Proxies Found : " . $cont . "\n";
        print "\n\n[+] Finished\n\n";
        <stdin>;
    }

    if ( $op eq "3" ) {
        copyright();
    }

}
copyright();

sub testnow {

    my $ver = shift;

    my $pro;
    my $host;
    my $port;
    my $country;
    my $save;

    my $test_proxy = LWP::UserAgent->new();
    $test_proxy->timeout(5);
    $test_proxy->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
    );

    if ( $ver =~ /(.*):(.*)/ ) {
        ( $host, $port, $country ) = ( $1, $2, "Unknown" );
        $save = $host . ":" . $port;
    }

    if ( $ver =~ /(.*):(.*):(.*)/ ) {
        ( $host, $port, $country ) = ( $1, $2, $3 );
        $save = $host . ":" . $port . ":" . $country;
    }

    my $pro = $host . ":" . $port;

    $test_proxy->proxy( "http", "http://" . $pro );
    my $code = $test_proxy->get("http://www.whatismyip.com/")->content;

    if ( $code =~ /Your IP Address Is/ ) {
        print "[+] IP : $host\n";
        print "[+] Port : $port\n";
        print "[+] Country : $country\n\n";
        savefile( "proxy-founds.txt", $save );
        return true;
    }
}

sub getproxys {

    my @founds;
    my @volver;

    for my $num ( 1 .. 5 ) {
        my $code = toma(
"http://www.proxys.com.ar/index.php?act=list&port=&type=&country=&page=$num"
        );

        while ( $code =~
/<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'">(.*?)<\/tr>/sig
          )
        {
            my $porcion = $1;
            chomp $porcion;

            if ( my @total = $porcion =~ m{<\s*td\s*>\s*(.*?)\s*</\s*td}mig ) {
                push( @founds, $total[1] . ":" . $total[2] . ":" . $total[4] );
            }
        }
    }

    my @volver = repes(@founds);
    return @volver;

}

sub getxroxy {

    my @founds_final;
    my @founds;

    for my $num ( 0 .. 26 ) {

        open( FILE, ">>proxy.txt" );

        my $code = toma(
"http://www.xroxy.com/proxylist.php?port=&type=&ssl=&country=&latency=1000&reliability=&sort=reliability&desc=true&pnum=$num"
        );

        while ( $code =~
            /proxy:name=XROXY proxy&host=(.*?)&port=(.*?)&notes=(.*?)&/sig )
        {
            my ( $ip, $port, $pais ) = ( $1, $2, $3 );
            $port =~ s/&isSocks=true//sig;
            $port =~ s/&socksversion=4a//sig;
            push( @founds, "$ip:$port:$pais" );
            print FILE "$ip:$port\n";
        }
    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub proxies {

    my @founds_final;
    my @founds;

    for my $i ( 1 .. 10 ) {

        my $code =
          toma( "http://proxies.my-proxy.com/proxy-list-" . $i . ".html" );

        my @found = $code =~ m/(\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}:\d+)/g;

        for (@found) {
            push( @founds, "$_:Unknown" );
        }

    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub proxyip {

    my @founds_final;
    my @founds;

    my $code = toma("http://proxy-ip-list.com/free-usa-proxy-ip.html");

    if ( $code =~ /<tbody class="table_body">(.*?)<\/table>/sig ) {
        my $codedos = $1;

        while ( $codedos =~
/<tr><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><\/tr>/mig
          )
        {
            my ( $ip, $pais ) = ( $1, $5 );
            push( @founds, "$ip:$pais" );
        }
    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub proxylist {

    my @founds_final;
    my @founds;

    my $code = toma("http://www.proxylist.net/");

    while ( $code =~
/<tr><td><a href="(.*?)">(.*?)<\/a><\/td><td><a href="(.*?)">(.*?)<\/a><\/td>/mig
      )
    {
        my ( $ip, $pais ) = ( $2, $4 );
        push( @founds, "$ip:$pais" );
    }

    my @founds_final = repes(@founds);
    return @founds_final;

}

sub head {
    print qq(


@@@@@                        @@@@@                       
@    @                         @               @         
@    @                         @               @         
@    @ @@  @@@  @  @ @  @      @     @@@   @@  @@  @@@  @@
@@@@@  @  @   @ @  @ @  @      @    @   @ @  @ @  @   @ @
@      @  @   @  @@  @  @      @    @@@@@  @   @  @@@@@ @
@      @  @   @  @@  @  @      @    @       @  @  @     @
@      @  @   @ @  @  @@       @    @   @ @  @ @  @   @ @
@      @   @@@  @  @  @        @     @@@   @@   @  @@@  @
                       @                                   
                     @@                                   


[++] Options

[+] 1 : Load wordlist
[+] 2 : Check Online
[+] 3 : Exit

);

}

sub copyright {
    print "\n\n(C) Doddy Hackman 2012\n\n";
    <stdin>;
    exit(1);
}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub repes {
    my @limpio;
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

#The End ?
#337
Scripting / [Perl Tk] Simple Downloader 0.1
6 Mayo 2012, 02:08 AM
Version Tk de un simple programa en Perl para bajar archivos.

Una imagen



El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Simple downloader 0.1
#Version Tk
#Coded By Doddy H

use Tk;
use Tk::Dialog;
use LWP::UserAgent;
use URI::Split qw(uri_split);

my $color_fondo = "black";
my $color_texto = "green";

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(20);

if ( $^O eq 'MSWin32' ) {
    use Win32::Console;
    Win32::Console::Free();
}

my $dron =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$dron->geometry("430x70+20+20");
$dron->resizable( 0, 0 );
$dron->title("Simple Downloader 0.1 || [+] Status : <None>");

$dron->Label(
    -text       => "URL : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 20 );
my $pre = $dron->Entry(
    -width      => 45,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 60, -y => 27 );
$dron->Button(
    -command          => \&now,
    -text             => "Download",
    -width            => 10,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->place( -x => 340, -y => 25 );

MainLoop;

sub now {

    my ( $scheme, $auth, $path, $query, $frag ) = uri_split( $pre->get );
    $dron->title("Simple Downloader 0.1 || [+] Status : Downloading..");
    if ( $path =~ /(.*)\/(.*)$/ ) {
        my $file = $2;
        if ( download( $pre->get, $file ) ) {
            $dron->Dialog(
                -title            => "OK",
                -buttons          => ["OK"],
                -text             => "File downloaded",
                -background       => $color_fondo,
                -foreground       => $color_texto,
                -activebackground => $color_texto
            )->Show();
        }
        else {
            $dron->Dialog(
                -title            => "Error",
                -buttons          => ["OK"],
                -text             => "Error",
                -background       => $color_fondo,
                -foreground       => $color_texto,
                -activebackground => $color_texto
            )->Show();
        }
    }
    $dron->title("Simple Downloader 0.1 || [+] Status : <None>");
}

sub download {
    if ( $nave->mirror( $_[0], $_[1] ) ) {
        if ( -f $_[1] ) {
            return true;
        }
    }
}

#The End ?

#338
Scripting / [Perl] Simple Downloader 0.1
6 Mayo 2012, 02:08 AM
Un simple script en perl para bajar archivos.

Código (perl) [Seleccionar]

#!usr/bin/perl
#Simple downloader 0.1
#Coded By Doddy H

use LWP::UserAgent;
use URI::Split qw(uri_split);

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(20);

head();
unless ( $ARGV[0] ) {
    sintax();
}
else {
    now( $ARGV[0] );
}
copyright();

sub now {

    my ( $scheme, $auth, $path, $query, $frag ) = uri_split( $_[0] );

    if ( $path =~ /(.*)\/(.*)$/ ) {
        my $file = $2;
        print "\n[+] Downloading ....\n";
        if ( download( $_[0], $file ) ) {
            print "\n[+] File downloaded\n";
        }
        else {
            print "\n[-] Error\n";
        }
    }
}

sub sintax {
    print "\n[+] Sintax : $0 <url>\n";
}

sub head {
    print "\n-- == Simple Downloader == --\n\n";
}

sub copyright {
    print "\n\n(C) Doddy Hackman 2012\n\n";
    exit(1);
}

sub download {
    if ( $nave->mirror( $_[0], $_[1] ) ) {
        if ( -f $_[1] ) {
            return true;
        }
    }
}

#The End ?


#339
Scripting / [Perl Tk] Gmail Inbox 0.1
28 Abril 2012, 16:50 PM
Un simple programa en Perl para leer el correo usando Gmail.

Una imagen



El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Gmail Inbox 0.1
#Version Tk
#Coded By Doddy H
#Modules
#ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
#http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
#http://search.cpan.org/~fays/GMail-Checker-1.04/Checker.pm

use Tk;
use Tk::HList;
use Tk::ROText;
use GMail::Checker;
use HTML::Strip;

if ( $^O eq 'MSWin32' ) {
    use Win32::Console;
    Win32::Console::Free();
}

my $yeahfucktk = MainWindow->new();
$yeahfucktk->title(
    "Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : <None>");
$yeahfucktk->geometry("870x220+20+20");
$yeahfucktk->resizable( 0, 0 );

my $agen = $yeahfucktk->Scrolled( HList,
    -columns    => 4,
    -header     => 1,
    -width      => 80,
    -scrollbars => "se"
)->place( -x => 20, -y => 20 );

$agen->headerCreate( 0, -text => "ID" );
$agen->headerCreate( 1, -text => "From" );
$agen->headerCreate( 2, -text => "Subject" );
$agen->headerCreate( 3, -text => "Date" );

$agen->bind( "<Double-1>", [ \&yeah ] );

$yeahfucktk->Label( -text => "Gmail Login", -font => "Impact" )
  ->place( -x => 650, -y => 20 );
$yeahfucktk->Label( -text => "Username : ", -font => "Impact1" )
  ->place( -x => 565, -y => 68 );
my $username = $yeahfucktk->Entry( -width => 30 )->place( -x => 653, -y => 73 );
$yeahfucktk->Label( -text => "Password : ", -font => "Impact1" )
  ->place( -x => 565, -y => 100 );
my $password =
  $yeahfucktk->Entry( -width => 30, -show => "*" )
  ->place( -x => 653, -y => 103 );
$yeahfucktk->Button(
    -text    => "Messages list",
    -width   => 20,
    -command => \&startnow
)->place( -x => 640, -y => 150 );

MainLoop;

sub startnow {
    $agen->delete( "all", 0 );
    my $total = total( $username->get, $password->get );
    $yeahfucktk->title(
"Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : $total messages found"
    );

    for ( reverse 1 .. $total ) {
        $yeahfucktk->update;
        $yeahfucktk->title(
"Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : Getting message $_"
        );
        my ( $from, $asunto, $date ) =
          getdata( $username->get, $password->get, $_ );

        $agen->add($_);
        $agen->itemCreate( $_, 0, -text => $_ );
        $agen->itemCreate( $_, 1, -text => $from );
        $agen->itemCreate( $_, 2, -text => $asunto );
        $agen->itemCreate( $_, 3, -text => $date );

    }
    $yeahfucktk->title(
        "Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : <None>");
}

sub total {
    my $mod_total = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );
    my ( $a, $b ) = $mod_total->get_msg_nb_size("TOTAL_MSG");
    return $a;
}

sub getdata {

    my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );
    my @msg = $mod_msg->get_msg( MSG => $_[2] );

    my $mas = $msg[0]->{headers};

    if ( $mas =~ /From: (.*)/ig ) {
        $from = $1;
    }

    if ( $mas =~ /Subject: (.*)/ig ) {
        $asunto = $1;
    }

    if ( $mas =~ /Date: (.*)/ig ) {
        $date = $1;
    }
    return ( $from, $asunto, $date );
}

sub yeah {
    my @ar = $agen->selectionGet();
    openmessage( $username->get, $password->get, $ar[0] );
}

sub openmessage {

    my $cons = MainWindow->new();
    $cons->geometry("500x350+20+20");
    $cons->resizable( 0, 0 );
    $cons->title("Reading message");

    my $conso = $cons->Scrolled(
        "ROText",
        -width      => 70,
        -height     => 40,
        -scrollbars => "e"
    )->pack();

    my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );

    my @msg = $mod_msg->get_msg( MSG => $_[2] );

    $conso->insert( "end", "[+] ID : $_[2]\n" );

    my $mas = $msg[0]->{headers};

    if ( $mas =~ /From: (.*)/ig ) {
        my $from = $1;
        $conso->insert( "end", "[+] From : $from\n" );
    }

    if ( $mas =~ /To: (.*)/ig ) {
        my $to = $1;
        $conso->insert( "end", "[+] To : $to\n" );
    }

    if ( $mas =~ /Subject: (.*)/ig ) {
        my $asunto = $1;
        $conso->insert( "end", "[+] Subject : $asunto\n" );
    }

    if ( $mas =~ /Date: (.*)/ig ) {
        my $date = $1;
        $conso->insert( "end", "[+] Date : $date\n\n" );
    }

    my $text = $msg[0]->{body};
    if ( $text =~
        /<body class=3D'hmmessage'><div dir=3D'ltr'>(.*?)<\/div><\/body>/sig )
    {
        my $body = $1;
        $body =~ s/<br>/\n/g;

        my $uno = HTML::Strip->new( emit_spaces => 1 );
        my $body = $uno->parse($body);
        $conso->insert( "end", $body );
    }
}

#The End ?
#340
Scripting / [Perl] Gmail Inbox 0.1
28 Abril 2012, 16:50 PM
Acabo de terminar un simple programa en Perl para poder leer mis mensajes de mi cuenta de correo Gmail , no es nada del otro mundo solo ponen el usuario y la contraseña de la cuenta y el programa carga un menu en el cual pueden listar todos los mensajes o leer un mensaje completo.

El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Gmail Inbox 0.1
#Coded By Doddy H
#Modules
#ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
#http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
#http://search.cpan.org/~fays/GMail-Checker-1.04/Checker.pm

use GMail::Checker;
use HTML::Strip;

head();

print "\n\n[+] Username : ";
chomp( my $user = <stdin> );
print "\n[+] Password : ";
chomp( my $pass = <stdin> );

while (1) {
    print "\n\n[+] Options\n\n";
    print "[1] : Messages list\n";
    print "[2] : Read Message\n";
    print "[3] : Exit\n\n";
    print "[+] Option : ";
    chomp( my $op = <stdin> );

    if ( $op eq "1" ) {
        listar( $user, $pass );
    }
    elsif ( $op eq "2" ) {
        print "\n[+] ID : ";
        chomp( my $id = <stdin> );
        getallmsg( $user, $pass, $id );
    }
    elsif ( $op eq "3" ) {
        copyright();
    }
    else {
        print "\n\n[-] Bad Option\n\n";
    }
}

sub listar {

    my $total = total( $_[0], $_[1] );
    print "\n[+] Messages found : $total\n\n";

    for my $num ( 1 .. $total ) {
        getdata( $_[0], $_[1], $num );
    }
}

sub total {
    my $mod_total = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );
    my ( $a, $b ) = $mod_total->get_msg_nb_size("TOTAL_MSG");
    return $a;
}

sub getdata {

    my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );

    my @msg = $mod_msg->get_msg( MSG => $_[2] );

    print "\n[+] ID : $_[2]\n\n";

    my $mas = $msg[0]->{headers};

    if ( $mas =~ /From: (.*)/ig ) {
        my $from = $1;
        print "[+] From : $from\n";
    }

    if ( $mas =~ /Subject: (.*)/ig ) {
        my $asunto = $1;
        print "[+] Subject : $asunto\n";
    }

    if ( $mas =~ /Date: (.*)/ig ) {
        my $date = $1;
        print "[+] Date : $date\n";
    }

}

sub getallmsg {

    print "\n[+] Reading message\n\n";

    my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );

    my @msg = $mod_msg->get_msg( MSG => $_[2] );

    print "[+] ID : $_[2]\n\n";

    my $mas = $msg[0]->{headers};

    if ( $mas =~ /From: (.*)/ig ) {
        my $from = $1;
        print "[+] From : $from\n";
    }

    if ( $mas =~ /To: (.*)/ig ) {
        my $to = $1;
        print "[+] To : $to\n";
    }

    if ( $mas =~ /Subject: (.*)/ig ) {
        my $asunto = $1;
        print "[+] Subject : $asunto\n";
    }

    if ( $mas =~ /Date: (.*)/ig ) {
        my $date = $1;
        print "[+] Date : $date\n";
    }

    my $text = $msg[0]->{body};
    if ( $text =~
        /<body class=3D'hmmessage'><div dir=3D'ltr'>(.*?)<\/div><\/body>/sig )
    {
        my $body = $1;
        $body =~ s/<br>/\n/g;

        my $uno = HTML::Strip->new( emit_spaces => 1 );
        my $body = $uno->parse($body);

        print "\n\n[Body Start]\n\n";
        print $body;
        print "\n\n[Body End]\n\n";
    }
}

sub head {
    print qq(

  @@@@                 @ @    @        @               
@    @                  @    @        @               
@                       @    @        @               
@       @@@ @@   @@@  @ @    @  @ @@  @@@@   @@@  @  @
@  @@@  @  @  @     @ @ @    @  @@  @ @   @ @   @ @  @
@    @  @  @  @  @@@@ @ @    @  @   @ @   @ @   @  @@
@    @  @  @  @ @   @ @ @    @  @   @ @   @ @   @  @@
@   @@  @  @  @ @   @ @ @    @  @   @ @   @ @   @ @  @
  @@@ @  @  @  @  @@@@ @ @    @  @   @ @@@@   @@@  @  @

);
}

sub copyright {
    print "\n\n-- == (C) Doddy Hackman 2012 == --\n\n";
    <stdin>;
    exit(1);
}

#The End ?



Ejemplo de uso



  @@@@                 @ @    @        @
@    @                  @    @        @
@                       @    @        @
@       @@@ @@   @@@  @ @    @  @ @@  @@@@   @@@  @  @
@  @@@  @  @  @     @ @ @    @  @@  @ @   @ @   @ @  @
@    @  @  @  @  @@@@ @ @    @  @   @ @   @ @   @  @@
@    @  @  @  @ @   @ @ @    @  @   @ @   @ @   @  @@
@   @@  @  @  @ @   @ @ @    @  @   @ @   @ @   @ @  @
  @@@ @  @  @  @  @@@@ @ @    @  @   @ @@@@   @@@  @  @



[+] Username : lagartojuancho

[+] Password : juancho123


[+] Options

[1] : Messages list
[2] : Read Message
[3] : Exit

[+] Option : 1

[+] Messages found : 8


[+] ID : 1

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : RE: Server just blew up
[+] Date : Mon, 23 Apr 2012 18:55:33 -0300

[+] ID : 2

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : RE: Server just blew up
[+] Date : Mon, 23 Apr 2012 18:56:59 -0300

[+] ID : 3

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : RE: Server just blew up
[+] Date : Mon, 23 Apr 2012 19:07:20 -0300

[+] ID : 4

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : hola tonton
[+] Date : Mon, 23 Apr 2012 19:26:17 -0300

[+] ID : 5

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : hola tonton
[+] Date : Mon, 23 Apr 2012 19:26:21 -0300

[+] ID : 6

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : ASUNTO
[+] Date : Mon, 23 Apr 2012 19:30:10 -0300

[+] ID : 7

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : ASUNTO FINAL
[+] Date : Tue, 24 Apr 2012 12:39:14 -0300

[+] ID : 8

[+] From : Van Helsing <lepuke@hotmail.com>
[+] Subject : hola
[+] Date : Wed, 25 Apr 2012 14:13:22 -0300


[+] Options

[1] : Messages list
[2] : Read Message
[3] : Exit

[+] Option :