IRC
Verfasst: 29.10.2004 00:52
Hi Leute,
ich hab mir aus diesem Board paar informationen zu einem IRC-Bot oder chat client geholt.... Hab testweise erstmal nur das connecten und das joinen eines Channels ausprobiert. nichts weiter. Nun hab ich das Problem das AntiVir dies als Heuristic/Backdoor.IRCBot erkennt. Kann man das vielleicht umgehen? Hier ist der Code:
Danke schonmal fuer jede Hilfe. Achja, es soll kein Bot werden, sondern fuer ein IRC Chatprogramm. Will aber nicht sowas wie mirc machen, sondern was ganz simples in einem Programm integrieren.
Gruß,
Torakas
ich hab mir aus diesem Board paar informationen zu einem IRC-Bot oder chat client geholt.... Hab testweise erstmal nur das connecten und das joinen eines Channels ausprobiert. nichts weiter. Nun hab ich das Problem das AntiVir dies als Heuristic/Backdoor.IRCBot erkennt. Kann man das vielleicht umgehen? Hier ist der Code:
Code: Alles auswählen
InitNetwork()
Declare.s Explode(string.s, trenn.s)
Declare.l CountChar(string.s, char.s)
Declare CheckNetEvent(string.s)
EOL.s = Chr(13)+Chr(10)
ircserver.s = "de.quakenet.org"
conid = OpenNetworkConnection(ircserver, 6667)
While 1
Select NetworkClientEvent(conid)
Case 2
Buffer.s = Space(500)
ReceiveNetworkData(conid,@Buffer,500)
rtext.s = Trim(Buffer)
Debug rtext
CheckNetEvent(rtext)
Debug rtext
Delay(50)
;Debug Mode alle eigehenden nachrichten anzeigen
;AddGadgetItem(#Connect_3,-1,rtext)
;end Debug mode
If FindString(rtext,"NOTICE AUTH :*** Looking up your hostname",1) > 0
;AddGadgetItem(#Connect_3,-1,"* Looking up your hostname")
;AddGadgetItem(#Connect_3,-1,"* Checking Ident")
;AddGadgetItem(#Connect_3,-1,"* Found your hostname")
SendNetworkString(conid,"USER "+"m00"+" "+Hostname()+" "+ircserver+" :http://www.xaan.de"+Chr(13))
;AddGadgetItem(#Connect_3,-1,"* USER "+GetGadgetText(#Connect_5)+" "+Hostname()+" "+GetGadgetText(#Connect_0)+" :http://www.xaan.de")
SendNetworkString(conid,"NICK :"+"Luzzi13221"+Chr(13))
;AddGadgetItem(#Connect_3,-1,"* NICK :"+GetGadgetText(#Connect_4))
EndIf
If Mid(rtext,1,7) = "ERROR :"
;AddGadgetItem(#Connect_3,-1,"* ERROR ' "+Mid(rtext,8,Len(rtext)-2)+" '")
EndIf
If Mid(rtext,1,6) = "PING :"
EndofPong = FindString(rtext,Chr(13),0)
;AddGadgetItem(#Connect_3,-1,"* PING "+Mid(PeekS(Buffer,500), 7, EndofPong-6))
;AddGadgetItem(#Connect_3,-1,"* PONG "+Mid(PeekS(Buffer,500), 7, EndofPong-6))
SendNetworkString(conid,"PONG :"+Mid(PeekS(Buffer,500), 7, EndofPong-6)+""+Chr(13))
Delay(500)
SendNetworkString(conid,"JOIN #pr0tec.gn"+Chr(13))
conned = 1
EndIf
EndSelect
Wend
Procedure.s Explode(string.s, trenn.s)
Dim StringParts.s(0)
Length.l = Len(string)
Length_woTrennZ.l = Len(RemoveString(string, trenn))
lParts.l = Length - Length_woTrennZ + 1
Dim StringParts.s(lParts)
For i = 1 To lParts
StringParts(i) = StringField(string, i, trenn)
Next
EndProcedure
Procedure.l CountChar(string.s, char.s)
count.l = FindString(string,char,1)
If count > 0
countasl.l = 0
Repeat
seek.l = FindString(string,char,seek+1)
If seek > 0
countasl + 1
EndIf
Until seek = 0
EndIf
howmany.l = countasl
ProcedureReturn howmany
EndProcedure
Procedure CheckNetEvent(string.s)
Shared EOL
;Debug string
dimensions.l = CountChar(string,EOL)
Explode(string,EOL)
For k=0 To dimensions
Debug StringParts(k)
Debug Asc(Mid(StringParts(k),1,1))
If Mid(StringParts(k),1,8) = "PRIVMSG"
Debug string
EndIf
Next
EndProcedure
Gruß,
Torakas