[Perl] Gmail Inbox 0.1

  • 0 Respuestas
  • 1578 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Perl] Gmail Inbox 0.1

  • en: Abril 28, 2012, 11:46:57 am
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
  1. #!usr/bin/perl
  2. #Gmail Inbox 0.1
  3. #Coded By Doddy H
  4. #Modules
  5. #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
  6. #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
  7. #http://search.cpan.org/~fays/GMail-Checker-1.04/Checker.pm
  8.  
  9. use GMail::Checker;
  10. use HTML::Strip;
  11.  
  12. head();
  13.  
  14. print "\n\n<ul class="bbc_list"><li type="square"> Username : ";[/li][/list]
  15. chomp( my $user = <stdin> );
  16. print "\n</li><li type="square"> Password : ";[/li][/list]
  17. chomp( my $pass = <stdin> );
  18.  
  19. while (1) {
  20.     print "\n\n</li><li type="square"> Options\n\n";[/li][/list]
  21.     print "[1] : Messages list\n";
  22.     print "[2] : Read Message\n";
  23.     print "[3] : Exit\n\n";
  24.     print "</li><li type="square"> Option : ";[/li][/list]
  25.     chomp( my $op = <stdin> );
  26.  
  27.     if ( $op eq "1" ) {
  28.         listar( $user, $pass );
  29.     }
  30.     elsif ( $op eq "2" ) {
  31.         print "\n</li><li type="square"> ID : ";[/li][/list]
  32.         chomp( my $id = <stdin> );
  33.         getallmsg( $user, $pass, $id );
  34.     }
  35.     elsif ( $op eq "3" ) {
  36.         copyright();
  37.     }
  38.     else {
  39.         print "\n\n[-] Bad Option\n\n";
  40.     }
  41. }
  42.  
  43. sub listar {
  44.  
  45.     my $total = total( $_[0], $_[1] );
  46.     print "\n</li><li type="square"> Messages found : $total\n\n";[/li][/list]
  47.  
  48.     for my $num ( 1 .. $total ) {
  49.         getdata( $_[0], $_[1], $num );
  50.     }
  51. }
  52.  
  53. sub total {
  54.     my $mod_total = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );
  55.     my ( $a, $b ) = $mod_total->get_msg_nb_size("TOTAL_MSG");
  56.     return $a;
  57. }
  58.  
  59. sub getdata {
  60.  
  61.     my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );
  62.  
  63.     my @msg = $mod_msg->get_msg( MSG => $_[2] );
  64.  
  65.     print "\n</li><li type="square"> ID : $_[2]\n\n";[/li][/list]
  66.  
  67.     my $mas = $msg[0]->{headers};
  68.  
  69.     if ( $mas =~ /From: (.*)/ig ) {
  70.         my $from = $1;
  71.         print "</li><li type="square"> From : $from\n";[/li][/list]
  72.     }
  73.  
  74.     if ( $mas =~ /Subject: (.*)/ig ) {
  75.         my $asunto = $1;
  76.         print "</li><li type="square"> Subject : $asunto\n";[/li][/list]
  77.     }
  78.  
  79.     if ( $mas =~ /Date: (.*)/ig ) {
  80.         my $date = $1;
  81.         print "</li><li type="square"> Date : $date\n";[/li][/list]
  82.     }
  83.  
  84. }
  85.  
  86. sub getallmsg {
  87.  
  88.     print "\n</li><li type="square"> Reading message\n\n";[/li][/list]
  89.  
  90.     my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] );
  91.  
  92.     my @msg = $mod_msg->get_msg( MSG => $_[2] );
  93.  
  94.     print "</li><li type="square"> ID : $_[2]\n\n";[/li][/list]
  95.  
  96.     my $mas = $msg[0]->{headers};
  97.  
  98.     if ( $mas =~ /From: (.*)/ig ) {
  99.         my $from = $1;
  100.         print "</li><li type="square"> From : $from\n";[/li][/list]
  101.     }
  102.  
  103.     if ( $mas =~ /To: (.*)/ig ) {
  104.         my $to = $1;
  105.         print "</li><li type="square"> To : $to\n";[/li][/list]
  106.     }
  107.  
  108.     if ( $mas =~ /Subject: (.*)/ig ) {
  109.         my $asunto = $1;
  110.         print "</li><li type="square"> Subject : $asunto\n";[/li][/list]
  111.     }
  112.  
  113.     if ( $mas =~ /Date: (.*)/ig ) {
  114.         my $date = $1;
  115.         print "</li><li type="square"> Date : $date\n";[/li][/list]
  116.     }
  117.  
  118.     my $text = $msg[0]->{body};
  119.     if ( $text =~
  120.         /<body class=3D'hmmessage'><div dir=3D'ltr'>(.*?)<\/div><\/body>/sig )
  121.     {
  122.         my $body = $1;
  123.         $body =~ s/<br>/\n/g;
  124.  
  125.         my $uno = HTML::Strip->new( emit_spaces => 1 );
  126.         my $body = $uno->parse($body);
  127.  
  128.         print "\n\n[Body Start]\n\n";
  129.         print $body;
  130.         print "\n\n[Body End]\n\n";
  131.     }
  132. }
  133.  
  134. sub head {
  135.     print qq(
  136.  
  137.   @@@@                 @ @    @        @              
  138.  @    @                  @    @        @              
  139.  @                       @    @        @              
  140.  @       @@@ @@   @@@  @ @    @  @ @@  @@@@   @@@  @  @
  141.  @  @@@  @  @  @     @ @ @    @  @@  @ @   @ @   @ @  @
  142.  @    @  @  @  @  @@@@ @ @    @  @   @ @   @ @   @  @@
  143.  @    @  @  @  @ @   @ @ @    @  @   @ @   @ @   @  @@
  144.  @   @@  @  @  @ @   @ @ @    @  @   @ @   @ @   @ @  @
  145.   @@@ @  @  @  @  @@@@ @ @    @  @   @ @@@@   @@@  @  @
  146.  
  147. );
  148. }
  149.  
  150. sub copyright {
  151.     print "\n\n-- == (C) Doddy Hackman 2012 == --\n\n";
  152.     <stdin>;
  153.     exit(1);
  154. }
  155.  
  156. #The End ?
  157.  
  158.  

Ejemplo de uso

Código: [Seleccionar]

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



  • Username : lagartojuancho[/li]

  • Password : juancho123[/li]


  • Options[/li]

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

  • Option : 1[/li]

  • Messages found : 8[/li]


  • ID : 1[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : RE: Server just blew up[/li]
  • Date : Mon, 23 Apr 2012 18:55:33 -0300[/li]

  • ID : 2[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : RE: Server just blew up[/li]
  • Date : Mon, 23 Apr 2012 18:56:59 -0300[/li]

  • ID : 3[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : RE: Server just blew up[/li]
  • Date : Mon, 23 Apr 2012 19:07:20 -0300[/li]

  • ID : 4[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : hola tonton[/li]
  • Date : Mon, 23 Apr 2012 19:26:17 -0300[/li]

  • ID : 5[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : hola tonton[/li]
  • Date : Mon, 23 Apr 2012 19:26:21 -0300[/li]

  • ID : 6[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : ASUNTO[/li]
  • Date : Mon, 23 Apr 2012 19:30:10 -0300[/li]

  • ID : 7[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : ASUNTO FINAL[/li]
  • Date : Tue, 24 Apr 2012 12:39:14 -0300[/li]

  • ID : 8[/li]

  • From : Van Helsing <[email protected]>[/li]
  • Subject : hola[/li]
  • Date : Wed, 25 Apr 2012 14:13:22 -0300[/li]


  • Options[/li]

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

  • Option :[/li]
  • « Última modificación: Marzo 14, 2015, 10:20:40 am por Expermicid »

     

    Tutorial perl desde cero By: Black Poision & Painboy

    Iniciado por ProcessKill

    Respuestas: 2
    Vistas: 5331
    Último mensaje Septiembre 02, 2011, 09:43:36 pm
    por blozzter
    [Perl] Verificando si es root para correr un script

    Iniciado por c1st

    Respuestas: 1
    Vistas: 3474
    Último mensaje Octubre 07, 2012, 06:01:39 pm
    por ANTRAX
    [Perl] Search in google for scan SQLI

    Iniciado por BigBear

    Respuestas: 0
    Vistas: 2599
    Último mensaje Julio 03, 2011, 09:49:49 pm
    por BigBear
    [Uniscan] Scanner de vulnerabilidades WEB hecho en Perl

    Iniciado por tar3kw0rm3d

    Respuestas: 0
    Vistas: 3018
    Último mensaje Junio 02, 2013, 08:01:28 pm
    por tar3kw0rm3d
    [Perl] Counter Strike 1.6 Servers List

    Iniciado por BigBear

    Respuestas: 0
    Vistas: 2560
    Último mensaje Noviembre 12, 2012, 07:32:11 pm
    por BigBear