Hallo liebes Forum,
nach langer, langer Zeit mal wieder eine Frage.
Ich betreibe Gameserver eines älteren Spieles ( Star Wars Battlefront 2) und
wollte dafür nun ein kleines Tool schreiben, welches mir alle Spieler ausließt.
Da ich den Server mit wine unter Linux betreibe, ist eine Remoteadministration nicht möglich.
Es ist aber möglich, im Spiel mit Adminbefehlen alle Spieler ausgeben zu lassen.
Da diese aber in einem Chat ausgegeben werden und die Namen + ID nur ca. 1/2 Sekunde da steht,
dachte ich mir, versuchst du alles mitzusniffen und dann einfach auszugeben.
Aber pustekuchen...
Was ich sende ist halbwegs klartext, ich benutze Delphi 7 mit folgender Komponentenpackung:
Magenta Systems Internet Packet Monitoring Components v1.2
Senden tu ich solch einen String:
Quelltext
1:
| 17:24:08:473 UDP 135 192.168.178.30:3659 > 93.***.***.***:3659 <3659> 93 [ Ą lį O Øņh"“q" Tųt $cŁŻ+÷ 4 ’’ ’’’’/ a d m i n / p l a y e r s š ] |
Das sieht soweit auch völlig in Ordnung aus, ingame bekomme ich die Antwort, natürlich vernünftig entschlüsselt und in Klartext, aber der Sniffer natürlich nicht:
Quelltext
1: 2: 3: 4: 5: 6:
| 17:24:08:561 UDP 467 93.***.***.***:3659 > 192.168.178.30:3659 <3659> 425 [ w Æ t žaā “f’ūQDšĪ@Y$ę ÷ Ieü’-ż%šGDŁ© š Pe > lą’ ō £ ] 17:24:08:681 UDP 529 93.***.***.***:3659 > 192.168.178.30:3659 <3659> 487 [ x ¶ t Ā “f’Į'R*QŖ Ä.^)æö ĆüŹ÷Žüč&šGDō© š Pe > ją’ O¤ U] 17:24:08:790 UDP 511 93.***.***.***:3659 > 192.168.178.30:3659 <3659> 469 [ y ½ t žĀ “f’ĻÖR<9y P:j|öPÄüüžK¤üH(šG © š Pe > gą’ „ y] 17:24:08:903 UDP 549 93.***.***.***:3659 > 192.168.178.30:3659 <3659> 507 [ z Ä t Ś “f’«SüÅcĪG Ź5÷ ¤Õśżš¦ūGŠ © š Peå)A’’? eą’ V'§ ł] 17:24:09:127 UDP 165 93.***.***.***:3659 > 192.168.178.30:3659 <3659> 123 [ { Ó t &Ś ų1Įņū’ļ üž’ū æ’’ž Į’÷æ’ Ę @uf 08 * ’’ ž’’’’’’’’’’’1 0] 17:24:09:280 UDP 195 93.***.***.***:3659 > 192.168.178.30:3659 <3659> 153 [ | į t ^Ś ų1Įņūżļ üž’ū æ’’ž Įļ’æ’ ć! Ē @NK 08 H ’’ ž’’’’’’’’’’’1 1] |
Natürlich sollte da drin doch nun der Spielername + ID existieren, oder irre ich mich da?
Jedenfalls habe ich nicht jede Ausgabe hier gepostet, wäre zu viel gewesen - da ich es nicht lesen kann sehe ich natürlich auch nicht,
was die richtigen Daten sind.
Die zweite möglichkeit wäre natürlich direktes auslesen aus dem RAM des spiels, doch davon habe ich noch weniger Ahnung...
Kann mir jemand den Stupser in die richtige Richtung zur Entschlüsselung der UDP Pakete geben?
P.S. Mir ist klar das man Spiele ja eigentlich nicht entschlüsseln darf (oder darf man das doch?), aber ich betreibe mehrere Server mit 64 Slots und
brauche fast 10 Minuten, um eine Person vom Server auszusperren. Und das geht mir auf Dauer auf die Nerven... Gesupported wird es von LucasArts leider auch nicht mehr.
Somit kann ich von dort aus auch auf keine Hilfe hoffen.
Lg