Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Perl by ass ( 17 years ago )
#!/usr/bin/perl

use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Cookies;
use threads;
use threads::shared;
use Fcntl ':flock';

###############################################
my $threads = 1;                              #
my $fnumbers = 'numbers.txt';                 #
my $fmes = 'message.txt';                     #
my $fproxy = 'proxy.txt';                     #
my $pmode = 0;                                #
my $sleep = 0;                                #
my $key = '23585fe7cac706524ed943e28a60b206'; #
###############################################

threads->new(&main) for 1 .. $threads;
$_->join for threads->list;
my $totl : shared = 1;
my $time = time;
my @numbers : shared = lfa($fnumbers);
my @proxy = lfa($fproxy);
sub main{
my ($ua,$cook) = ua();
if($pmode){until(proxy($ua)){}}
while(@numbers){
my $numb = shift @numbers;
my $prefix = substr($numb,3,3);
my $num = substr($numb,6);
if($prefix == 910 || $prefix == 915 || $prefix == 916 || $prefix == 917 || $prefix == 919 || $prefix == 985 || $prefix == 812 || $prefix == 861 || $prefix == 911 || $prefix == 912 || $prefix == 913 || $prefix == 914 || $prefix == 918 || $prefix == 980 || $prefix == 981 || $prefix == 982 || $prefix == 983 || $prefix == 987 || $prefix == 988){
     mts($ua,$cook,$prefix,$num);}
elsif($prefix == 903 || $prefix ==  905 || $prefix == 906 || $prefix == 909 || $prefix == 960 || $prefix == 961 || $prefix == 962 || $prefix == 963 || $prefix == 964 || $prefix == 965){
     beeline($ua,$cook,$prefix,$num);}
elsif($prefix == 926 || $prefix == 925){
     megafon($ua,$cook,$prefix,$num);}
}}
sub beeline{
my ($ua,$cook,$prefix,$num) = @_;
$cook->clear();
my $text = lfr($fmes);
$ua->get("http://www.beeline.ru/sms/index.wbp")->as_string;
my $dig = captcha("http://www.beeline.ru/mamimg.aspx");
my $answ = $ua->post("http://www.beeline.ru/sms/index.wbp",{
"send" => "",
"smstext" => $text,
"smstoprefix" => $prefix,
"smsto" => $num,
"dirtysmstext" => $text,
"confirm_key" => "",
"confirmcode" => $dig,
"x" => "44",
"y" => "3"})->as_string;
wf("beeeliiiinee",$answ);
if($answ =~ /302/){lo("[ + ] Sent: $prefix$num
"); ++$totl;}else{lo("[ - ] Failed: $prefix$num
");}
}
sub megafon{
my ($ua,$cook,$prefix,$num) = @_;
$cook->clear();
my $text = lfr($fmes);
my $answ = $ua->get("http://sms.megafonmoscow.ru")->content;
$answ =~ /"codekey"   value="(d*)"/; my $ck = $1;
$answ =~ /"charcheck" value="(.*?)"/; my $qwe = $1;
$answ =~ /"lang"      value="(.*?)"/; my $lang = $1;
$answ =~ /image.phtml?k=(d*)"/; my $sid = $1;
my $dig = captcha("http://sms.megafonmoscow.ru/image.phtml?k=$sid");
my $tim = localtime(time);
$tim =~ /(.+) (.+)  (d+) (d+):(d+):(d+) (d+)/;
my $day = $3; my $hour = $4; my $minute = $5; my $year = $7;
my $resp = $ua->post("http://sms.megafonmoscow.ru/sms.action",
                        Content_Type => 'form-data',
                        Content => [ "codekey" => $ck,
                                     "charcheck" => $qwe,
                                     "lang" => $lang,
                                     "codevalue" => $dig,
                                     "prefix" => $prefix,
                                     "addr" => $num,
                                     "message" => $text,
                                     "messlen" => lenght($text),
                                     "go" => "Îòïðàâèòü ñåé÷àñ",
                                     "send_day" => $day,
                                     "send_month" => "7",
                                     "send_hour" => $hour,
                                     "send_minute" => $minute,
                                     "send_year" => $year])->as_string;
if($resp =~ /302/){lo("[ + ] Sent: $prefix$num
"); ++$totl;}else{lo("[ - ] Failed: $prefix$num
");}
}
sub mts{
my ($d,$m,$y) = undef;
($d,$m,$y) = localtime(time);
my ($ua,$cook,$prefix,$num) = @_;
$cook->clear();
my $text = lfr($fmes);
    my $data = $ua->get('http://sms.mts.ru/live/smsxtra.aspx?region=msk')->as_string;
        $data =~ /LBD_VCT_live_smsxtra_ctl00_ctl00_ctl00_smssendcontrol_captcha" value="(.*?)"/; my $vct = $1;
        $data =~ /QACaptcha.aspx?(.*?)'/; my $cu = $1;
        $data =~ /id="__VIEWSTATE" value="(.*?)"/; my $vs = $1;
        $data =~ /id="__EVENTVALIDATION" value="(.*?)"/; my $va = $1;
        my $cap = captcha("http://sms.mts.ru/live/QACaptcha.aspx?$cu");
        my $res = $ua->post('http://sms.mts.ru/live/smsxtra.aspx?region=msk',{
        '__EVENTTARGET' => '',
        '__EVENTARGUMENT' => '',
        '__LASTFOCUS' => '',
        '__LBD_VCT_live_smsxtra_ctl00_ctl00_ctl00_smssendcontrol_captcha' => $vct,
        '__LBD_SGC_live_smsxtra_ctl00_ctl00_ctl00_smssendcontrol_captcha' => 0,
        '__VIEWSTATE' => $vs,
        'ctl00$ctl00$ctl00$SMSSendControl$ddPrefix' => $prefix,
        'ctl00$ctl00$ctl00$SMSSendControl$txtMsisdn' => $num,
        'ctl00$ctl00$ctl00$SMSSendControl$tbMessage' => $text,
        'ctl00$ctl00$ctl00$SMSSendControl$tbLen' => 6,
        'ctl00$ctl00$ctl00$SMSSendControl$lblMax' => 135,
        'ctl00$ctl00$ctl00$SMSSendControl$dpDate' => ($y+1900).sprintf('%02s',($m+1)).sprintf('%02s',$d),
        'ctl00$ctl00$ctl00$SMSSendControl$dpDate_string' => sprintf('%02s',($m+1))."/".sprintf('%02s',$d)."/".($y+1900),
        'ctl00$ctl00$ctl00$SMSSendControl$tbCode' => $cap,
        'ctl00$ctl00$ctl00$SMSSendControl$btnSend.x' => 125,
        'ctl00$ctl00$ctl00$SMSSendControl$btnSend.y' => 8,
        '__EVENTVALIDATION' => $va})->as_string;
        if($res =~ /còàòóñ ñîîáùåíèÿ/){
        lo("[ + ] Sent: $prefix$num
"); ++$totl;}else{lo("[ - ] Failed: $prefix$num
");}
}
sub ua{
my $ua = LWP::UserAgent->new;
my $cook = HTTP::Cookies->new;
$ua->cookie_jar($cook);
$ua->agent(agent());
$ua->timeout(60);
return ($ua,$cook);
}
sub proxy{
my($ua) = @_;
my ($ip, $port) = split ':' => $proxy[rand scalar @proxy];
$ua->proxy('http' => "http://$ip:$port");
my $test = $ua->get('http://www.myip.ru/get_ip.php')->content;
if($test =~ m,>$ip<,i) {print "[ + ] $ip:$port
"; return 1;}
else { print "[ - ] $ip:$port
"; return 0;}
}
sub agent{
my @agents = qw(Opera/9.15 Opera/9.12 Opera/8.60b IE/4.0 IE/5.0 IE/6.0 IE/7.0 Mozilla/4.0 Mozilla/5.0 Mozilla/2.0 Mozilla/3.0);
return $agents[rand scalar @agents];
}
sub lfa{
open my $dat,'<',$_[0] or die "
Could not open ".($_[0])." file!
";
flock $dat, LOCK_EX;
chomp (my @data = <$dat>);
flock $dat, LOCK_UN;
close $dat;
my %saw;
my @out = grep(!$saw{$_}++, @data);
return @out;
}
sub lfr{
open my $dat,'<',$_[0] or die "
Could not open ".($_[0])." file!
";
flock $dat, LOCK_EX;
chomp (my @data = <$dat>);
flock $dat, LOCK_UN;
close $dat;
return $data[rand scalar @data];
}
sub wf{
open my $dat,'>>',$_[0] or die "
Could not open ".($_[0])." file!
";
flock $dat, LOCK_EX;
print $dat $_[1];
flock $dat, LOCK_UN;
close $dat;
}
sub captcha {
my $ua = new LWP::UserAgent;
my $seed = int(rand(1000));
my $cid  = $seed."captcha".$seed.".jpg";
my $capt = $ua->get($_[0])->content;
open(F,">./tmp/$cid"); binmode F; print F $capt; close(F);
my $cap = grendayzer($cid);
return $cap;
}
sub grendayzer {
my($img) = @_;
my $ua = new LWP::UserAgent;
lo("Recognizing captcha...
");
my $digits   = '';
M:
my $response = $ua->post( "http://ac-service.info/in.php",
                        Content_Type => 'form-data',
                        Content => [ file  => ["./tmp/$img", "$img", "Content-Type" => "application/octet-stream"],
                                     method => "post",
                                     key => $key ])->as_string;
if($response =~ /OK|(d+)/) {
        my $kkey = $1;
        do {
        print "Waiting chinese response...($kkey)
";
        $digits = $ua->get("http://ac-service.info/res.php?key=$key&action=get&id=$kkey")->as_string; sleep(5);
        }
        while($digits =~ /CAPCHA_NOT_READY/);
        $digits =~ /OK|(.*)/; $digits = $1;
}
elsif ($response =~ /ERROR_NO_SLOT_AVAILABLE/) {sleep(1); print "Waiting for slot...
"; goto M;}
elsif ($response =~ /ERROR_KEY/) {print "Your anti-captcha key is invalid, please check or remove it
"; exit(0);}
else { $response =~ /

(.*)/s; print "Something wrong with ac: $1
";}
unlink "./tmp/$img";
return $digits;
}
sub lo{
print @_;
print "[Sent: $totl (Time elapsed ".(time-$time).")]
";
        open (L,">>log.txt");
        flock(L, LOCK_EX);
        print L @_;
        print L "[Sent: $totl (Time elapsed ".(time-$time).")]";
        flock(L, LOCK_UN);
        close L;
}

 

Revise this Paste

Your Name: Code Language: