Thema: Altitude Game | ||
Anmeldungsdatum: Nov 2011 Beiträge: 65 |
Hallo zusammen, gerade eben habe ich ein etwas älteres Spiel gespielt. Dabei handelt es sich um ein Onlinespiel, dass die Daten mittels UDP versendet und empfängt. Da ich weiß, dass UDP die etwas unsicherere und einfachere Übertragung ist (als TCP), habe ich mich gefragt, ob man diese Pakete nicht manuell verschicken könnte (sodass der Server die akzeptiert und verarbeitet). Ganz kurz zum Spiel: Man muss mit kleinen Fliegern andere Flieger auf einem kleinen Spielfeld kaputt machen (2D). Alles sehr einfach gehalten. Denke, dass das Spiel andauern die Koordinaten des eigenen Fliegers an den Server schickt, sodass alle anderen Clients sehen, wo sich dieser Flieger befindet. Doch ob das wirklich so ist, weiß ich nicht. Deshalb habe ich mir Wireshark runtergeladen und mal geschaut, was das Spiel so versendet. Innerhalb von ein paar Sekunden sind halt schon ziemlich viele UDP-Pakete versendet worden (pro Sekunde ca. 150). Alle Pakete haben eine bestimmte Struktur: Spiel - Server TEXT Code:
Server - Spiel TEXT Code:
Und diese Reihenfolge (Spiel -Server dann Server - Spiel) kann man 1000 Pakete lang beobachten (manchmal gibt es kleine Abweichungen). Die Länge ist beim Paket Spiel - Server immer 48 Bytes und Server - Spiel immer 50 Bytes. Ach, da sehe ich gerade, dass im Abstand von 5 Paket noch ein Drittes mit der größe 65 Bytes vom Server - Spiel gesendet wird. Habe noch ein Bild in den Anhang gemacht, wo man das Muster gut erkennen kann. Manchmal findet man doch noch andere Pakete, die eine Länge von 77 oder 66 Bytes haben. Der Aufbau ist jedoch der gleiche. Nun habe ich einfach mal 3 Pakete aus der Mitte rausgepickt, die alle vom Spiel an den Server geschickt wurden (Nach der Reihenfolge): TEXT Code:
TEXT Code:
TEXT Code:
TEXT Code: Dort kann man erkennen, dass z.B. das 13 Byte immer "inkrementiert" wird (oder immer ein Buchstabe höher). Könnte man diese Paket nicht einfach manuell schicken und die Koordinaten beliebig verändern? (Wenn man weiß, welche Bytes die Koordinaten sind). Ich stelle mir das so vor, dass man während dem Spielen durch eine bestimmte Taste ein einziges Paket, mit den beliebigen Koordianten, verschickt und dadurch der Flieger an einer anderen Position weiter fliegt. Nur denke ich, dass die Pakete alle gekennzeichnet sind, sodass der Server das verschickte Paket nicht zulässt. Habt ihr eine Idee, wie man das lösen könnte? Viele Grüße, Littleben Um Links zu sehen, musst du dich registrieren |
|
Littleben ist offline |