Einen MMORPG-Bot bauen

Vor ein paar Wochen schrieb ich im Urlaub ein 18-Seiten Paper über das nachbauen eines Clients für ein MMO. Dieses Paper werde ich Zeitgleich auch in der B2H Libary publizieren, aber hier gibts ein paar mehr Infos dazu ;-)

In dem Artikel wird, wie schon erwähnt, ein Client für ein Online-Rollenspiel analysiert und später “nach gebaut”. Da ich den Betreibern keinen Schaden zufügen will, passiert das alles ohne konkrete Source-Snippets von meiner Seite! Mit dem Wissen das in dem Artikel (hoffentlich) vermittelt wird, ist dies aber auch nicht nötig.

Inhalt des Artikels:

  1. Intro: Es wird erklärt, warum ein Flash-Onlinespiel verwendet wird, was man soweit über die Netzwerkengine sagen kann und warum dieses als Einsteigerprojekt geeignet.
  2. Es wird gesnifft und die Daten ausgewertet, ohne dass der Source angeschaut wird.
  3. Hier wird tiefer in auf die Netzwerkengine eingegangen und das versenden von Objekten erklärt.
  4. Der Source der Game-Klasse, der Hauptklasse, wird angeschaut.
  5. Es werden Messages (Packete) anschaut und analysiert, weiter wird das MessageHandling beschrieben.
  6. Es wird weiter auf einen einzelnen MessageType eingegangen und dieser “reversed”.
  7. Hier wird gezeigt dass die ausgehenden Messages verschlüsselt sind und es wird angeschaut wie und wo dieses geschieht.
  8. Hier wird auf das Versenden von eigenen Nachrichten eingegangen
  9. Zum Abschluss folgen ein paar Abschlussätze

Ich hoffe Ihr habt jetzt ein wenig Lust auf das lesen dieses Artikels bekommen und dass Ihr euch von den 18 (doch recht kurzweiligen) Seiten nicht abschrecken lasst ;-)

Download: Artikel MMO Client - By Easysurfer

Greez

4 people like this post.
    • Lopus
    • 14. Jun. 2011 5:35pm

    Interessant,

    Doch wie sieht das aus wenn der Server Packets verschlüsselt an den Client sendet, und der Client erst aus einem String den Algorithmus berechnet?

      • Easysurfer
      • 14. Jun. 2011 10:29pm

      Dann muss man nachschaun ob der Key dieser Verschlüsselung “hardcoded” ist, also fest im Quellcode drin oder die Übertragung dieses Codes am Anfang stattfindet. In diesem Fall einfach mal die Umgebung der Recieve-Methode anschauen, da sollte sich in so einem Fall etwas finden lassen.

  1. Noch keine TrackBacks.


− zwei = 7