[Developing] Darkorbit Bot Packets

01/15/2011 20:10 Serraniel#1
Hallo,

ich bin gerade dabei einen DO Bot zu erstellen. allerdings hab ich ein problem bei den Packets:
Also als erstes muss ich ja wissen, an welche IP die Daten gesendet werden müssen. Nunja, die IP habe ich bisher nur von der Startseite rausbekommen, und diese hat sich auch schon geändert. Aber ist die von der Startseite überhaupt die richtige? Und Port ist doch 8080 oder? (Ich weiß das ich auch einfach in der eingabeaufforderung netstat -n eingeben kann. Aber bei der IP klappts auch net :D)

Und dann noch das LoginPacket:
Also ich hab mal mehere dazu gelesen. Der Anfang ist klar, aber die hatten beide nochwas unterschiedl. dahinter:
Code:
bot_send("LOGIN|" & uid & "|" & sid & "|2.0..|5")
bot_send("LOGIN|" & uid & "|" & sid & "|2.0\x0A")
(Bot ist der TCP Client)
Auch habe ich gehört das die clientversion mitgesendet werden müsste. Stimmt das?
01/15/2011 20:44 tvirusx1#2
[Only registered and activated users can see links. Click Here To Register...]

XXX mit server code ersätzen z. B. "int1" und dann hast du alle I.P. Addressen.

Ich würde dir raten nur die I.P. Adresse von der Karte auf die du botten willst zu speichern, denn die können sich jederzeit ändern (wegen Server load usw. aber damit habe ich mich nie beschäftigt also kann es auch sein das die sich gar nicht während einer Session ändern) also solltest du die I.P Adresse, wenn du jumpen willst, neu holen, anstatt alle zu speichern.

Mann muss auch den Client Version senden, und jedes Paket muss mit \r\n (carriage return & line feed) also \x0A\x0D terminiert werden.

Ein Tipp: Der Server kann Daten wie er will senden, und manchmal auch Pakete halbwegs also solltest du ein algorithm proggen, sodass du jedes Mal ein vollständiges Paket verarbeiten kannst, ansonsten wird es Probleme bei der Stabilität geben.

Noch ein Tipp: Du solltest die Daten Verarbeitung und Netzwerk Verarbeitung in verschiedene Threads laufen lassen, ansonsten wird es die gleichen Probleme wie UDOBot v3.0.2 erleiden.
UDOBot 3.0.2 ruckelte, wenn man eine schlechte Verbindung hatte.

Ein letzter Tipp: Vergiss nicht CriticalSections zu nutzen, wo Sie gebraucht werden, also dort, wo mehrere Threads die gleichen Variablen verändern.
01/15/2011 20:51 Serraniel#3
Ok danke. Da stehen ja imem rein haufen von IP´s. Woher weiß ich jetzt welche für welche Map ist?
01/15/2011 20:57 tvirusx1#4
Schau mal in den source von der Seite, es ist in XML und sollte verständlich sein.

01/15/2011 21:04 Serraniel#5
Also angenommen man steht auf int1 auf der 2-5, dann müsste ich

bot_send("LOGIN|" & uid & "|" & sid & "|2.0|x0A|x0D") machne und zwar an 62.146.191.83 und Port 8080 (Ist die gleiche IP wie ich auch manuelel über netstat -n gefunden hatte). An welche Stelle muss die Clientversion hin?
01/15/2011 21:14 tvirusx1#6
Der Login packet sollte so aussehen:

Code:
LOGIN|UID|SID|CLIENTVERSION\n\0
PS: Mein fehler, mann muss packete mit \n\0 terminieren und nicht \r\n war schon eine weille her ;).

Ein Tipp: Benutze WPE Pro oder Wireshark, dann kannst du sehen wie der DarkOrbit Client die daten sendet usw.
01/15/2011 21:20 Synapsenschaden#7
Vielleicht wäre es auch nützlich wenn du dir einfach den Code vom UDOBot anschaust ^^

Da sollte doch theoretisch alles drin sein was du brauchst
01/15/2011 22:28 TechnoMan#8
Quote:
Originally Posted by Synapsenschaden View Post
Vielleicht wäre es auch nützlich wenn du dir einfach den Code vom UDOBot anschaust ^^

Da sollte doch theoretisch alles drin sein was du brauchst
Schau ihn dir doch mal an ;)

Die Chance dass du dich da durchsteigst ist gleich 0.. Auch wenn du die Sprache gut beherrscht..
01/16/2011 00:06 da_hero~#9
eben zumal ich ein prob habe. ich kann die dateien zwsr oeffnen, aber beim linken sagt visual studio erstmal das ist veraltez und dann kommt noch ein error.

wie ist das denn mit diesem wpe pro. sehe ich da dann z.b. wenn ich im game ne box sammel die kompletten daten die gesendet werden? und stehen diese alleinw dort oder steht da noch ein haufen an datenmuell den ich gaenicht brauche?
01/16/2011 10:35 Serraniel#10
Hab mir das runtergeladen, verstehe abe rnicht wirklich wie wpe funktioniert. :o
01/16/2011 12:34 VRF#11
Quote:
Originally Posted by gähn View Post
Hab mir das runtergeladen, verstehe abe rnicht wirklich wie wpe funktioniert. :o
Also wenn das Programmieren eines Bots schon am sniffen der Pakete scheitert würd ichs gleich lassen -.-

[Only registered and activated users can see links. Click Here To Register...]
Mach das tutorial hier erstmal.
01/16/2011 18:51 da_hero~#12
tkannst mir noch sagen wie ich mit wpe umgehe???

edit: habe post von vrf uebersehen...