SOFTWARE-AGENTS




etoy.MANIAC - the flooding-agent

responsible for the search-engine-attack. the flooding-agent-concept is based on a patchwork of different scripts/robots working together. the robot is called ivana to personalize this script-system for communications reasons. the "intelligence" is defined by her autonomy to grab words of the net, go to the search-engine to see the ranking of this word, generate the .html-file and submitt this entry... she is working fully autonomous and she only breaks down if she cannot handle the mass... but that is more the server than her, so we help her to get onto her feet again and keep on working...

the coder has sometimes dreams about ivana having an affair with another of his robots. he is afraid of a relationsship because then he cannot control the thing anymore.

but maybe she is not intelligent at all, maybe she is more like a human beeing, doing his/her designated work for a life-time... or maybe she is more intelligent than we thing... doing what she has to in a perfect way, keeping history about herself, no emotion, no fear, only code !

#!/usr/bin/perl$base = "/home/ud/hworld2";#nslookup type=A hyperreal.com($sec,$min,$hour,$mday,$mon,$year, $wday,$yday,$isdst) = localtime(time());@z = ('00' .. '59');@m = ('01' .. '12');@mm = ('1' .. '12');$year += 1900;$now = "@z[$mday].@m[$mon].$year at @z[$hour]:@z[$min] MET";$heute = "$mday. @mm[$mon]. $year" ;srand;$newadresses = "DATABASE/ht_todo";$doneadresses = "DATABASE/ht_done" ;$savefilename = "$base/tmp.data";$packetsavename = "$base/rawdata"; $actualword = "$base/actualword";$fertig = "$base/stop";$urlsproword = 200; $gif = 0;open (GENERAL, "$base/DATABASE/general.counter");$generalcounter = ; close GENERAL;#use Socket;print "$base/DATABASE/general.counter\n";print "$general counter\n";use Socket; #while ($stop ne 1)($sec,$min,$hour,$mday,$mon,$year,$wday,$y day,$isdst) = localtime(time());$when = "@z[$hour]:@z[$min]:@z[$sec]";#print $m day;$startday = $mday;$startstd = $hour;$startmin = $min;$startsec = $sec; ################ ######################## ################## ############## Suchwoerter Anfang############# ## ############# #################################### ######open (WCOUNT, "$base/url-word.c ounter");$wordchange = ;close WCOUNT;$wordchange++;system ("echo -n $wo rdchange > $base/url-word.counter");if ($wordchange > $urlsproword) { $wordchange =0; system ("echo -n $wordchange > $base/url-word.counter"); open (ALLWORD S, "<$base/WORDS"); @words = (); close ALLWORDS; srand; $weins = @words[int(rand($#words))]; $wzwei = @words[int(rand($#words))]; $wdrei = @words[int(rand($#words))]; chop ($weins); chop ($wzwei); chop ($wdrei); $begr iffa= $weins; $begriffb= $wzwei; $begriffc= $wdrei;# open (ALLWORDS, "<$base/WO RDS");# @words = ();# close ALLWORDS;# srand;#if ($generalcounter <= 0)# { print "noch keine urls\n"; $url= "204.161.74.8:1234/query/?query=$weins+$wzwe i+$wdrei&hits=100+documents&disp=Text+Only";p rint "$url\n";system (" echo $weins > $base/DATABASE/actualword");system (" echo $wzwei >> $base/DATABASE/actualword");system (" echo $wdrei >> $base/DATABASE/actualword");system (" echo > $ base/DATABASE/ht_todo"); $stop = ""; }open (THEWORD, "$base/DATABASE/actualword ");@swords = ;#$weins = ;close THEWORD;$weins = @swords[0 ];$wzwei = @swords[1];$wdrei = @swords[2];chop ($weins);chop ($wzwei);chop ( $wdrei);print "$weins\n";print "$wzwei\n";print "$wdrei\n";######################### ########################### #################### SUchwo erter Ende############################ ########################## ################@datapack = ();open ( NEW, "$base/$newadresses");@adressen = ();close NEW;$_ = @adressen[0];op en (DONE, "$base/$doneadresses");@done = ();close DONE;push (@done, @adre ssen[0]);open (DONE, ">$base/$doneadresses");open (NEW, ">$base/$newadresses");$zaehler = 0;while ($zaehler <= $#done) { print (DONE @done[$zaehler]); $zaehler++; }$z aehler = 1;while ($zaehler <= $#adressen) { print (NEW @adressen[$zaehler]); $zae hler++; }close DONE;close NEW;if ($url) {$_ =$url;} /([^\/]*)\/*([^ ]*)/; $site = $1; $fi le = "/".$2; $wertsite = $2; $_ = $site; /^([^:]*):*([^ ]*)/; $site = $1; $werthost = $1; $port = $2 ; $port = 80 unless $port; $hostname = $site; ($sockaddr,$there,$response,$tries) = ("Snc4 x8"); $there = pack($sockaddr,2,$port, &getaddress($hostname)); ($a, $b, $c, $d) = unpack('C4', $hostaddr); $proto = (getprotobyname ('tcp'))[2]; if (!socket(S,AF _INET,SOCK_STREAM,$proto)) { die "$0: Fatal Error. $!\n"; } if (!connect(S,$there)) { die " $0: Fatal Error. $!\n"; } select(S);$|=1; select(STDOUT);print S "GET $file HTTP/1.0 \nUser-Agent: hijack_v2.0 >www.hijack96.net\r\n\n"; if ($savefilena me) { open(OUT,">".$savefilename) || die "$0: Fatal error. Cannot create $savefilename.\n "; } while($line = ) { if ($savefilename) { print OUT $line; } else { print $line; } } close(S); if ($savefilename) { close(OUT); } sub getaddress { local($hos t) = @_; local(@ary); @ary = gethostbyname($host); return(unpack("C4",$ ary[4])); }($sec,$min,$hour,$mday,$mon,$year,$wday,$ yday,$isdst) = localtime(time());$when = "@z[$hour]:@z[$min]:@z[$sec]";$secondday = $ mday;$secondstd = $hour;$secondmin = $min;$secondsec = $sec;########################### ################################# ############################### ############################# ################@notinhttp = ("\\^", "\\*", "\\(", "\\)", "\%", "\\[", "\\]", "\=","\!", "\&", "\#", "\;", "\<", "\>", "\"", "\,", "\'", "\\?" );op en (DATA, "$savefilename");@data = ();@resistantdata = @data;close DAT A; $datacounter = 0; while ($datacounter <= $#data) { @words = split(/\ s+/,@data[$datacounter]); push (@splitted, @words); $datacounter++; } @data = @splitted;####################### ########################### ########## @splitted = (); $datacou nter = 0; while ($datacounter <= $#data) { @words = split(/\"\>/,@data[$datacou nter]); push (@splitted, @words); $datacounter++; } @data = ########################## ##########open (ADR, "$base/$newadres ses");@newads = ();close ADR;open (DONE, "$base/$doneadresses");@doneads = ( );close DONE;$counter = 0;$gefunden = 0;@gefnewads = ();while ($counter <= $#da ta) { $_ = @data[$counter]; if (/http:\/\/([^\/]*)\/*([^\"\>\< ]*\.html)/) { push (@gefnewads, "$1\/$2\n"); } $counter++; }@wertgefunden = @gefnewads;##################### ########################## ##----suche in durchforsteten adressen######################## ########################$counte r = 0;$zaehler = 0;@testads = ();while ($counter <= $#gefnewads) { while ($zaehler < = $#doneads) { if (@gefnewads[$counter] eq @doneads[$zaeh ler]) {$habenwir = 1; last; } $zaehler++; } if ($habenwir ne 1) { push (@testads, @gefnewads[$counter]); } $habenwir = 0; $counter++; }############################ #####################----suche in neuen adressen####################### #########################$counter = 0;$zaehler = 0;while ($counter <= $#testa ds) { while ($zaehler <= $#newads) { if (@testads[$counter] eq @newad s[$zaehler]) {$habenwir = 1; last; } $zaehler++; } if ($habenwir ne 1) { push (@newads, @testads[$counter]); push (@wertneueadressen, @testads[$counter]); $gefunden++; } $habenwir = 0; $counter++; }open (ADR, ">$base/$newadresses");$counter = 0;while ($counter <= $#newads) { print (ADR @newads[$counter]); $counter++ }cl ose ADR;#@wertneueadressen = @newads;($sec,$min,$hour,$mday,$mon,$yea r,$wday,$yday,$isdst) = localtime(time());$when = "@z[$hour]:@z[$min]:@z[$sec]";$thirdday = $ mday;$thirdstd = $hour;$thirdmin = $min;$thirdsec = $sec;################ ############################### ### ######################## AUSWERT UNG HTML FILES ############################### ####################### ############################### ################################# ##system ("nslookup type=A $werthost");@ht mlfile = @resistantdata;$splitcount = 0;$titel = "";$gif = "";$header = "";while ($splitcount <= $#htmlfile) { $zeile = @htmlfile[$splitcount]; chop ($rein = $zeile); push (@htmlsauber, $re in); $splitcount++ }$_ = join(' ',@htmlsauber);$copybig = $_;$_ = "\L$_\E";$ copy = $_;$_ = "000";/(.)(.)(.*)/;$_ = $copy;/(.*\[\s+]*)(.*)(\<\/title\>.*)/; $titel = $2;$_ = $2;if (/404*/) {print "$titel\n"; die; }$_ = "000";/(.)(.)(.*)/;$_ = $copy;@splitw ords = split(/\>/,$_);$splitcount = 0;while ($splitcount <= $#splitwords) { $_ = @splitw ords[$splitcount]; if (/(.*)(\<\/h1)/) { $header = $1; last; } $splitcount++; }$_ = "000";/(.)(.)(.*)/;$_ = $copybig;@splitwords = split(/\>/,$_);$splitcount = 0;while ($splitco unt <= $#splitwords) { $_ = @splitwords[$splitcount]; if (/(.*=\")([^\s+] .*\.gif)(.*)/) { $gif = $2; $punkt= index($gif,".");print "$punkt, "; if ($punkt ne 0) {push (@pics, $2);} } $_ = @splitwords[$splitcount]; if (/(. *= \")([^\s+].*\.gif)(.*)/) { $gif = $2; $punkt= index($gif,".");prin t "$punkt, "; if ($punkt ne 0) { push (@pics, $2);} } $_ = @splitwords[$sp litcount]; if (/(.*=\")([^\s+].*\.GIF)(.*)/) { $gif = $2; $punkt= index($ gif,".");print "$punkt, "; if ($punkt ne 0) {push (@pics, $2);} } $_ = @sp litwords[$splitcount]; if (/(.*= \")([^\s+].*\.GIF)(.*)/) { $punk t= index($gif,"."); $gif = $2;print "$punkt, \n"; if ($punkt ne 0) {push (@pics, $2);} }$splitcount++; }srand;$nummer = int (rand($#pics));$gif = @pics [$nummer];print "$nummer/$#pics\n";if ($gif eq "") {print "died. no picture\n"; die;}print "$ gif ist das zwischenresultet\n"; $char= index($gif,"/");if ($char eq 0) { $gif = "$wer thost$gif"; print "$gif was slashed\n"; $gifok = 1; }$char= index($gif,":");print "muss e rscheinen, und sollte 4 sein wenn http-adresse: $char\n"; if ($char eq 4) { $_ = $gif; /(http:\/\/)(.*)/; $gif = $2; print "$gif was a full htttp\n"; }else { if ($gif) { if ($gifok ne 1) { $_ = $wertsite; /(.*\/)([^\/ ].*\.htm*)/; $was =$1; print "w as ist $was\n"; if ($was) {$gif = "$werthost/$was$gif";} else {$gif = "$wert host/$gif";} print "$gif was in same folder\n"; } } }# /(.*\/)(*\.htm*)/;# print "hier $1\n";# if ($gif)# {# $gif = # }# }#/(.(\"\>.*)/;#$gif = $2; if ($weins) { print "$weins\t"; print "$ wzwei\t"; print "$wdrei\n"; }print "$titel\n";print "$header\n";#print "$gif\n";#$c har= index($gif,"/");#if ($char eq 0)# {$gif = "$werthost$gif"}#else {$_ = "$werthost/$wert site";# /(.*\/)([^\/ ].*\.htm*)/;# /(.*\/)(*\.htm*)/;# print "hier $1\n";# if ($gi f)# {# $gif = # }# }#if ($gif eq 0)# {print "died. no picture"; die;}#if ($gif eq "")# {print "died. no picture"; die;}print "$gif\n";#print "$char\n";print "$werthost\n";p rint "$wertsite\n";print "\n";print "Total $#wertgefunden Links gefunden\n";print "davon $#wertneueadressen neu.\n";($sec,$min,$hour,$mday,$mon,$year,$w day,$yday,$isdst) = localtime(time());$when = "@z[$hour]:@z[$min]:@z[$sec]";$forthday = $md ay;$forthstd = $hour;$forthmin = $min;$forthsec = $sec;############################ ############################## ################