Postando mensagem no Facebook com Perl
Publicado por Perfil removido (última atualização em 11/08/2014)
[ Hits: 6.565 ]
Caso ocorra algum problema, tente logar no Facebook para celular, e desative a mensagem que pede para colocar número de celular. Se mesmo assim continuar dando problema, aí já não sei o que fazer, haha.
Usando o script:
$ perl fb.pl [email] [senha]
#!/usr/bin/perl -w # Coder: MMxM # hc0der.blogspot.com # Post facebook message with perl use strict; use LWP; use HTTP::Cookies; use URI::Escape; die("\n[+] $0 <fb-email> <fb-password>\n\n") if(@ARGV!=2); my($email,$pw) = @ARGV; print "[*] Logging... (Wait)\n"; my $browser = LWP::UserAgent->new; $browser->cookie_jar( {} ); $browser->agent('Mozilla/5.0 (Windows NT 6.2; rv:31.0) Gecko/20100101 Firefox/31.0'); my $body = $browser->get('https://m.facebook.com/')->content; my %attr; my @elements = ($body =~ /(?<=<input type="hidden" name=").*?(?<=" value=").*?(?=["])/g); my $uri_login; ($body =~ /<form method="post" class="v w" id="login_form" novalidate="1" action="(.*?)">/) &&($uri_login=$1) || die("Error to get login URL\n"); foreach my $hidden(@elements){ my @tmp = split(/" value="/,$hidden); $attr{$tmp[0]} = uri_escape($tmp[1]); } $attr{'email'} = $email; $attr{'pass'} = $pw; my $header = $browser->post( $uri_login , \%attr )->as_string; my $location; if($header =~ /Location: (.*)/){ $location = $1; } else { die("[-] Unexpected Error\n"); } if($location =~ /^https:\/\/m.facebook.com\/login.php/){ die("[-] Failed to login\n"); } print "[+] Sucessfull Login\n"; print "[*] GETing URL to post message... (Wait)\n"; $browser->get($location); $browser->get('https://m.facebook.com/phoneacqwrite/?s=1&source=m_mobile_mirror_interstitial'); $body = $browser->get('https://m.facebook.com/home.php?_rdr')->content; my %attr2; my @ele2 = ($body =~ /(?<=<input type="hidden" name=").*?(?<=" value=").*?(?=["])/g); ($body =~ /<form method="post" action="\/composer\/(.*?)">/) && ($location = 'https://m.facebook.com/composer/'.$1) || die("Error to get URL\n"); $location =~ s/&/&/g; for(0..12){ my @tmp = split (/" value="/ ,$ele2[$_]); next if($tmp[0] eq 'search' || $tmp[0] eq 'search_source'); $attr2{$tmp[0]} = uri_escape($tmp[1]); } $attr2{'xc_message'} = ''; $attr2{'rst_icv'} = ''; $header = $browser->post($location, \%attr2)->as_string; if($header =~ /Location: (.*)/){ $location = $1; } else { die("Error to get URL\n"); } ($location !~ /$attr2{'csid'}/) && die("Unexpected Error\n"); print "[+] OK\n"; print "[*] Acessing url ...(Wait)\n"; $body = $browser->get($location)->content; my %attr3; my @h = ($body =~ /(?<=<input type="hidden" name=").*?(?<=" value=").*?(?=["])/g); if($body =~ /<form method="post" action="\/composer\/mbasic\/(.*?)" enctype="multipart\/form-data">/){ $location='https://m.facebook.com/composer/mbasic/'.$1; } for(0..scalar(@h)-1){ my @tmp = split(/" value="/,$h[$_]); if($_ == 6){ $attr3{'target'} = $tmp[1]; next; } if($_ == 12){ $attr3{'waterfall_source'} = $tmp[1]; next; } $attr3{$tmp[0]} = $tmp[1]; } print "[*] Write your message:\n\n"; my $xms = <stdin>; $attr3{'xc_message'} = $xms; $attr3{'users_with'} = ''; $attr3{'album_id'} = ''; $attr3{'view_post'} = ''; $attr3{'file1'} = ''; $attr3{'file2'} = ''; $attr3{'file3'} = ''; my $x = $browser->post($location, Content_Type => 'multipart/form-data', Content => [ %attr3 ]); if($x->as_string =~ /Location: https:\/\/m.facebook.com\/home.php/){ print "\n[+] Message posted successfully\n"; } else { print "\n[-] Possible error\n"; } #__EOF__
Baixar o Diário Oficial da União e salvar como um único PDF completo
Iniciando desenvolvimento web ágil com Perl (Mojolicious)
PDF completo com todas as páginas do Diário Oficial do Estado de Goiás
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)