OldSchoolHack

Register / Login English

Altitude Game

icon Thread: Altitude Game

Join Date: Nov 2011

Posts: 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:
  1. 0000 00 1f 3f ba 96 ed 00 1f 3f 03 1e b3 08 00 45 00 ..?..... ?.....E.
  2. 0010 00 22 42 f2 00 00 80 11 1e 1f c0 a8 b2 39 4b 66 ."B..... .....9Kf
  3. 0020 1b 72 6a 88 9c 48 00 0e 4d 70 1c d1 95 05 20 00 .rj..H.. Mp.... .

Server - Spiel
TEXT Code:
  1. 0000 00 1f 3f 03 1e b3 00 1f 3f ba 96 ed 08 00 45 00 ..?..... ?.....E.
  2. 0010 00 24 00 00 40 00 36 11 6b 0f 4b 66 1b 72 c0 a8 [email protected]. k.Kf.r..
  3. 0020 b2 39 9c 48 6a 88 00 10 02 af 1c 81 95 0e 60 00 .9.Hj... ......`.
  4. 0030 0b 04 ..

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:
  1. 0000 00 1f 3f ba 96 ed 00 1f 3f 03 1e b3 08 00 45 00 ..?..... ?.....E.
  2. 0010 00 22 0a 61 00 00 80 11 56 b0 c0 a8 b2 39 4b 66 .".a.... V....9Kf
  3. 0020 1b 72 6a 88 9c 48 00 0e 05 71 1c c9 dd 0c 20 00 .rj..H.. .q.... .

TEXT Code:
  1. 0000 00 1f 3f ba 96 ed 00 1f 3f 03 1e b3 08 00 45 00 ..?..... ?.....E.
  2. 0010 00 22 0a 62 00 00 80 11 56 af c0 a8 b2 39 4b 66 .".b.... V....9Kf
  3. 0020 1b 72 6a 88 9c 48 00 0e 05 61 1c d9 dd 0c 20 00 .rj..H.. .a.... .

TEXT Code:
  1. 0000 00 1f 3f ba 96 ed 00 1f 3f 03 1e b3 08 00 45 00 ..?..... ?.....E.
  2. 0010 00 22 0a 63 00 00 80 11 56 ae c0 a8 b2 39 4b 66 .".c.... V....9Kf
  3. 0020 1b 72 6a 88 9c 48 00 0e 05 51 1c e9 dd 0c 20 00 .rj..H.. .Q.... .

TEXT Code:
  1. 0000 00 1f 3f ba 96 ed 00 1f 3f 03 1e b3 08 00 45 00 ..?..... ?.....E.
  2. 0010 00 22 0a 64 00 00 80 11 56 ad c0 a8 b2 39 4b 66 .".d.... V....9Kf
  3. 0020 1b 72 6a 88 9c 48 00 0e 05 41 1c f9 dd 0c 20 00 .rj..H.. .A.... .
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

Only registered and activated users can see links.