Gesnifftes Datenpacket entschlüsseln

Hi,
ich würde gerne eine Chat-History für ein kleines Onlinespiel umsetzten und müsste dafür mit dem Server "reden" können.
Zum Testen hab ich jetzt mal mit Wireshark den TCP-Verkehr überwacht und wenn ich nichts mache, werden dort in regelmäßigem Abstand TCP-Packete von meiner IP zu der des Server versendet, die allerdings keine Daten im Rumpf haben.
Wenn ich nun eine Nachricht schreibe wird dort zusätzlich ein Datenpacket zum Server gesendet, welches auch Daten besitzt. Zum testen habe ich das Wort "teeeeeeeest" geschrieben.
Nun kann ich in den Daten allerdings leider keine Folge von acht Ascii-Werten finden und gehe deshalb davon aus, dass die Daten verschlüsselt sind.
Meine Frage ist nun, ob ich irgendwie, da ich ja das Wort kenne, was dort irgendwo vorkommen muss, herausfinden kann, wie die Daten genau verschlüsselt sind?
Lässt sich vielleicht auch schon vorher in den gesnifften Daten irgendwo erkennen, welche Verschlüsselung verwendet wird?
Ich hoffe meine Frage ist halbwegs verständlich.
Danke und Gruß,
blobbo
 
Wenn der Durchsatz nicht allzu groß ist, würde ich einfach mal alle Pakete durchgehen. Eventuell wirds nur als UTF-16 o.ä. verschickt. Wenn es aber reiner Binärbullshit ist, musst du den Clienten mal debuggen und schauen, wo send() aufgerufen wird und was davor passiert.
 
Was meinst du genau mit alle Pakete? Gängige Formate ausprobieren?
Das Datenpaket in dem sich "teeeeeeeest" befinden müsste sieht so aus:
Code:
55:a5:9d:3e:da:60:80:ed:36:cb:30:20:3f:42:19:83:43:b0:1c:46:2a:dd:28:97:62:5f:19:25:5f:36:2d:e2:06:d9:39:27:6f:bc:0d:e0:f6:53:d9:39:7f:3b:ed:df:e6:d2:f9:39:8f:45:cd:df:d6:c8:99:39:9f:4f:ad:df:c6:c6:b9:39:af:49:8d:df:b6:cc:59:38:bf:43:6d:53
An Debuggen hatte ich auch schon gedacht aber das würde wohl etwas länger dauern :)

[Edit]
Ok, dreimal das gleiche Wort schreiben erzeugt dreimal komplett unterschiedliche Daten. Gibt es eventuell eine Verschlüsselung oder ein Datenformat bei dem es "typisch" ist, dass die Daten sich komplett ändern?
Sonst werd ich wohl debuggen müssen :(
 
Zuletzt bearbeitet:
Es könnte sich um eine Verschlüsselung mit z.B. einem hartcodiertem und einem zufällligen Schlüsselteil handeln. Letzterer müsste dann (evtl. ebenfalls verschlüsselt) mit übertragen werden.
Außerdem könnte auch der Hash einer übermitteten Zufallsbitfolge als Schlüssel verwendet werden. usw.

Zudem ist unbekannt, welcher Algoritmus verwendet wird. Mir würden da spontan z.B. AES oder OneTimePad (der Schlüssel könnte mit dem bitstrom verschmolzen sein).

Also ich denke, die Verwendung eines Debuggers wird aussichtsreicher und schneller sein.:wink:

Ansonsten vergleiche doch mal länge von klar- und ciphertext bei verschiedenen möglichkeiten miteinander. Daraus konnte man eine 'Formel' entwerfen und Rückschlüsse auf den Algorithmus ziehen.

so würde etwas wie
2in + x = out
die Vermutung der verwendung von OneTimePad (+ ein paar header-bytes) nahelegen.
wenn die outs immer ein vielfaches einer bestimmten Zahl sind, könnte eine Blockverschlüsslung zum Einsatz kommen.

Gruß, Stiepen
 
Zurück
Oben