[PERL] Помогите разобраться

Статус
В этой теме нельзя размещать новые ответы.

vitalikis

Создатель
Регистрация
16 Апр 2007
Сообщения
31
Реакции
3
Вот нашол пару скриптов для контакта
Они отвечают на предложения пользователей, но ни один не работает

Код:
#!/usr/bin/perl 

use warnings; 
use strict; 
use IO::Socket; 

$|=1; 

# конфиг ########################### 

my ($email, $pass) = ('e-mail', 'pass'); # логин/пасс 

my $sex   = 2; # ПОЛ. 0 - любой, 1 - женский, 2 - мужской 
my $years = 0; # ВОЗРАСТ. 0 - до 18-ти, 1 - 18-26, 2 - от 27-ми 

my $num = 20000;  # сколько человек пригласить 

##################################### 

my ($answer, $stop) = (undef, 0); 

my $socket = IO::Socket::INET->new('vkontakte.ru:80') || die "\nCan't Connect To Vkontakte.ru\n"; 

my $content = "email=$email&pass=$pass"; 

print $socket "POST /login.php HTTP/1.1\r\n" 
              ."Host: vkontakte.ru\r\n" 
              ."User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20\r\n" 
              ."Referer: http://vkontakte.ru/\r\n" 
              ."Cookie: remixlang=0; remixchk=5\r\n" 
              ."Connection: close\r\n" 
              ."Content-Type: application/x-www-form-urlencoded\r\n" 
              ."Content-Length: ". length ($content) ."\r\n\r\n" 
              .$content; 
               
              { 
                local $/ = undef; 
                $answer = <$socket>; 
                close $socket 
                 
              } 
               
              my @data = $answer =~ /remixmid=(d+) 
                                     .* 
                                     remixpass=([a-f0-9]{32}) 
                                     .* 
                                     remixsid=([a-f0-9]{56})/xs; 


if (scalar @data == 3) {&log("[+] GET DATA FROM $email\n")} else {&log("[-] CAN'T GET DATA FROM $email\n"); exit } 


while ($num > $stop) { 


$socket = IO::Socket::INET->new('vkontakte.ru:80') || die "\nCan't Connect To Vkontakte.ru\n"; 

$content = "act=a_search&st=0&c=0&s=$sex&y=$years&id=0"; 

print $socket "POST /matches.php HTTP/1.1\r\n" 
             ."Host: vkontakte.ru\r\n" 
             ."User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20\r\n" 
             ."Content-Type: application/x-www-form-urlencoded\r\n" 
             ."Connection: close\r\n" 
             ."X-Requested-With: XMLHttpRequest\r\n" 
             ."Referer: http://vkontakte.ru/matches.php?act=search\r\n" 
             ."Cookie: remixlang=0; remixchk=5; remixmid=$data[0]; remixemail=$email; remixpass=$data[1]; remixsid=$data[2]\r\n" 
             ."Pragma: no-cache\r\n" 
             ."Content-Length: ". length ($content) ."\r\n\r\n" 
             .$content; 
              
              { 
                local $/ = undef; 
                $answer = <$socket>; 
                close $socket 
                 
              } 

my ($id) = $answer =~ m{href='id(\d+)'>}; 

next if !defined $id; 

$content = "act=a_search&st=0&c=0&s=$sex&y=$years&id=$id"; 

$socket = IO::Socket::INET->new('vkontakte.ru:80') || die "\nCan't Connect To Vkontakte.ru\n"; 

print $socket "POST /matches.php HTTP/1.1\r\n" 
             ."Host: vkontakte.ru\r\n" 
             ."User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20\r\n" 
             ."Content-Type: application/x-www-form-urlencoded\r\n" 
             ."Connection: close\r\n" 
             ."X-Requested-With: XMLHttpRequest\r\n" 
             ."Referer: http://vkontakte.ru/matches.php?act=search\r\n" 
             ."Cookie: remixlang=0; remixchk=5; remixmid=$data[0]; remixemail=$email; remixpass=$data[1]; remixsid=$data[2]\r\n" 
             ."Pragma: no-cache\r\n" 
             ."Content-Length: ". length ($content) ."\r\n\r\n" 
             .$content; 

              { 
                local $/ = undef; 
                $answer = <$socket>; 
                close $socket 
                 
              } 
               
              if ($answer =~ m{200 OK}) {&log("[+] INVITE $id\n")} else {&log("[-] CAN'T INVITE $id\n")} 

$stop++; 
sleep 3; 

} 


sub log { 
    open LOG, '>>', 'log.txt'; 
    print LOG $_[0]; 
    print $_[0]; 
    close LOG;     
}

Этот пишет [-] CAN'T GET DATA FROM МЫЛО

Код:
 #!/usr/bin/perl -w 
############################### 
# (c) [dei] 369-476-512 
############################### 

############ Config ############### 
$email = 'xxxx@mail.ru'; 
$pass = '111'; 
$count = 100; 

$city = 0; 
$sex = 1; 
$age = 0; 
################################ 

use LWP::UserAgent; 
use HTTP::Cookies; 

my $ua = LWP::UserAgent->new; 
$ua->agent('Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1'); 
$ua->cookie_jar(HTTP::Cookies->new(file => 'cookies.txt', autosave => 1)); 

sub login( $$ ) { 
    my $em = $_[0]; 
    my $pa = $_[1]; 
      
    $em =~ s/@/%40/; 
    my $req = HTTP::Request->new(POST=>'http://vkontakte.ru/login.php'); 
    $req->referer('http://vkontakte.ru/'); 
    $req->content_language('ru'); 
    $req->content_type('application/x-www-form-urlencoded'); 
    $req->content("email=$em&pass=$pa"); 
    my $result = $ua->request($req); 
     
    if($result->code == 302) { return 1; } 
} 

sub myrand( $ ) { 
    my $int=''; 
    for(my $i=1;$i<=$_[0];$i++) { $int .= int(rand(10)) } 
    return $int; 
} 

sub accepts { 
    my $req = HTTP::Request->new(GET=>'http://vkontakte.ru/matches.php?act=search'); 
    $req->referer('http://vkontakte.ru/groups.php?'.myrand(5)); 
    my $result = $ua->request($req); 
         
    $result->content =~ /searchMatch((d+))/; 
    my $m = $1; 
     
    sleep(1); 
    for(my $i=0;$i<$count;$i++) { 
        $req = HTTP::Request->new(POST=>'http://vkontakte.ru/matches.php'); 
        $req->referer('http://vkontakte.ru/matches.php?act=search'); 
        $req->header('X-Requested-With: XMLHttpRequest'); 
        $req->content_type('application/x-www-form-urlencoded'); 
        $req->content('act=a_search&st=0&c='.$city.'&s='.$sex.'&y='.$age.'&id='.$m); 
        $result = $ua->request($req); 

        print '.'; 
        $|++; 

        if(!($result->content =~ /searchMatch((d+))/)) { die "error\n"; } 
        $m = $1; 
     
        sleep(1); 
    } 
    print "\ndone\n"; 
} 

if(!login($email,$pass)) { die "bad acc\n"; } 
else { print "use $email\n"; } 
&accepts;

А этот: Use of uninitialized value $m in concatenation (.) or string at 1.pl line 58.

.error
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху