English:Thansk to Requiable!!
Hey @all...
UridiumWars wird geschlossen, nun steht es fest...Deswegen mache ich hier einfach mal ein Tutorial, wie man überhaupt einen Bot schreibet, das ganze per VB.NET und eben TCPClient...Ich mache dass aus dem Grund, damit alle mal sehen, wieviel Arbeit es ist/war...Ich finde es nähmlich schei***, dass manche ihr Geld für FBot wieder wollen usw...
Ich werde hier kein fertiges Projekt am Ende liefern, allerdings sollte man daraus einen Bot machen können.
Also am Anfang muss man sich bewusst sein, dass man dafür mehrere Tage braucht, ich werde dieses Tutorial solange fortführen, bis ein paar Leute, die sich mit VB auskennen einen eigenen Bot schreiben können bzw. bis der Bot Bonusboxen sammeln kann und alles...
Also, dann fangen wir man an :)
Zu allererst muss man ein neues Windoof Forms Projekt starten und man wechselt sofort in die Codeansicht. Dort deklarieren wir dann erstmal alles nötige:Imports, einen TCPClienten, einen Streamreader/Streamwriter und einen normalen Stream.
Code:
Imports System.Net.Sockets Imports System.IO Imports System.Threading und eben Public stream As NetworkStream, client As New TcpClient, writer As StreamWriter, reader As StreamReader,
Code:
LOGIN|USERID|SID|2.15 <- 2.15 ist die Clientversion PNG <- Ping packet, muss zwingend alle 25 Sekunden gesendet werden LAB|UPB|GET RDY|MAP RDY|SHP LAB|UPB|GET ps|grp 9|g
Dazu connecten wir uns mit unserem TCPClienten auf die GameIP(Map 1-1 wäre zb 64.145.67.140, port ist immer 8080).
Dann deklarieren wir alle streams(writer,reader und networkstream):
Code:
stream = Client.GetStream writer = New StreamWriter(stream) reader = New StreamReader(stream)
Soweit so gut, wir sind im Game eingeloggt! Allerdings disconnecten wir alle 25 Sekunden, da das PNGPacket nicht gesendet wird... also nach dem starten hauen wir einen Timer rein und lassen ihn alle 25 Sekunden "PNG" mithilfe des Streamwriters senden, wenn wir alles richtig gemacht haben, sollte das Problem gefixxed sein!
Das wars erstmal zum Login, jetzt begeben wir uns daran, eingehende Informationen aus den Packets auszulesen.
Dazu schreiben wir uns am besten nochmal eine Funktion, die die Packets nach "|" splitted, denn ein empfangenes Packet vom Server sieht immer so aus(Von der Struktur):
Code:
0|C|UserID|Keine ahnung, verändert sich aber|4|Clan|Spielername|XPosition|YPosition|Firma(0,1,2,3)|1569|Level|0|0|1|0|0|1|0
Wir könnten nun z.B. eine Picturebox anlegen und mit GDI+ einen Punkt malen, das wäre dann ein Spieler.
Das wars erstmal zum ersten Teil...
Ein SEHR guter PacketEditor/sniffer ist übrigens dieser hier: [Only registered and activated users can see links. Click Here To Register...]
Ich selber benutze ihn auch in einer etwas abgeänderten Version
MfG Alex
PS: Ich mache das Tutorial später weiter, ich denke noch heute Abend