elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Perl] Gmail Inbox 0.1
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Perl] Gmail Inbox 0.1  (Leído 1,537 veces)
BigBear


Desconectado Desconectado

Mensajes: 545



Ver Perfil
[Perl] Gmail Inbox 0.1
« en: 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
  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[+] Username : ";
  15. chomp( my $user = <stdin> );
  16. print "\n[+] Password : ";
  17. chomp( my $pass = <stdin> );
  18.  
  19. while (1) {
  20.    print "\n\n[+] Options\n\n";
  21.    print "[1] : Messages list\n";
  22.    print "[2] : Read Message\n";
  23.    print "[3] : Exit\n\n";
  24.    print "[+] Option : ";
  25.    chomp( my $op = <stdin> );
  26.  
  27.    if ( $op eq "1" ) {
  28.        listar( $user, $pass );
  29.    }
  30.    elsif ( $op eq "2" ) {
  31.        print "\n[+] ID : ";
  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[+] Messages found : $total\n\n";
  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[+] ID : $_[2]\n\n";
  66.  
  67.    my $mas = $msg[0]->{headers};
  68.  
  69.    if ( $mas =~ /From: (.*)/ig ) {
  70.        my $from = $1;
  71.        print "[+] From : $from\n";
  72.    }
  73.  
  74.    if ( $mas =~ /Subject: (.*)/ig ) {
  75.        my $asunto = $1;
  76.        print "[+] Subject : $asunto\n";
  77.    }
  78.  
  79.    if ( $mas =~ /Date: (.*)/ig ) {
  80.        my $date = $1;
  81.        print "[+] Date : $date\n";
  82.    }
  83.  
  84. }
  85.  
  86. sub getallmsg {
  87.  
  88.    print "\n[+] Reading message\n\n";
  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 "[+] ID : $_[2]\n\n";
  95.  
  96.    my $mas = $msg[0]->{headers};
  97.  
  98.    if ( $mas =~ /From: (.*)/ig ) {
  99.        my $from = $1;
  100.        print "[+] From : $from\n";
  101.    }
  102.  
  103.    if ( $mas =~ /To: (.*)/ig ) {
  104.        my $to = $1;
  105.        print "[+] To : $to\n";
  106.    }
  107.  
  108.    if ( $mas =~ /Subject: (.*)/ig ) {
  109.        my $asunto = $1;
  110.        print "[+] Subject : $asunto\n";
  111.    }
  112.  
  113.    if ( $mas =~ /Date: (.*)/ig ) {
  114.        my $date = $1;
  115.        print "[+] Date : $date\n";
  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:

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



[+] 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 :


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Gmail actualiza su Priority Inbox
Noticias
wolfbcn 0 1,672 Último mensaje 8 Diciembre 2010, 22:47 pm
por wolfbcn
[Perl Tk] Gmail Inbox 0.1
Scripting
BigBear 1 1,937 Último mensaje 29 Abril 2012, 05:04 am
por Eleкtro
Google te invita a olvidarte de Gmail con una redirección si usas Inbox
Noticias
wolfbcn 0 915 Último mensaje 2 Diciembre 2015, 21:46 pm
por wolfbcn
Cómo forzar que Gmail abra Inbox, y por qué deberías hacerlo
Noticias
wolfbcn 0 999 Último mensaje 16 Marzo 2017, 22:40 pm
por wolfbcn
Focused Inbox llegará a Gmail en la app de Outlook para Windows 10
Noticias
wolfbcn 1 1,296 Último mensaje 30 Abril 2017, 03:45 am
por reygun30012
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines