Ich glaube ich habe die Syntax der Endnachrichten durchschaut.
Hier einige Notizen zur Kommunikation:
Beim Sychronisations-Algo tauschen zwei Werte ihre Position und einer der Werte wird inkrementiert. Außerdem sendet der Client oft 64er-Nachrichten, bei denen er einen neuen Wert vorgibt.
Code:
• Beginn immer mit 'fefe' (ab jetzt weggelassen.)
• < Nachricht vom Server
• > Nachricht vom Client
[Beginn der Kommunikation]
> 01 : Client sagt Hallo. Sendet wahrscheinlich Passworthash.
< 02 : Server antwortet irgendwas
> 03 0001 0001 [...]`#192.168.0.22:2057 : Client sendet Daten, die Ip+Port enthalten
< 04 0001 0002 : Server-Syncro-Antwort mit B,A+1
> 64 0002 : Zeitstempel-Nachricht vom Client.
< 00 0002 0002 dcdc 05 […] 192.168.0.22:2056[…] Nachricht mit Ip+Port vom Server
< 00 0003 0002 dcdc 0a […]
< 00 0004 0002 ffff […]
> 00 0002 0004 [...]
< 00 0005 0003 [...] Beide Werte erhöht!?
> 00 0003 0006 [...]
< 00 0006 0004 Zwei Pakete vom Server,
< 00 0007 0004 das zweite sehr groß (Karte)
Das folgende Muster taucht öfter auf 64er-Nachricht vom Client und fast identische Antwort
des Server. Gesamtlänge der Nachrichten: 49 und 81 Bytes (gut erkennbar)
> 64 0008
< 00 0008 0004 [...]
> 64 0009
< 00 0009 0004 [gleicher Inhalt wie bei 0008. Sieht nach Idle aus...]
< 66 7469 [...] ?? Nachricht mit 55 Bytes, kommt öfter
> 64 000f
> 00 0004 000f 0a000000[...] Nach 64er gleich eine Nachricht vom Client(!). Deswegen 0f hinten statt vorne
< 00 000f 0005 0b000000[...]
< 00 0010 0005 [...]
> 64 0011
< 00 0011 0005
[ Nun zum Traffic am Ende der Session: ]
> 64 0072
> 00 002c 0072 [...]
< 00 0072 002d [...]
> 64 0073
> 06 002d 0073
D.h. die Syntax der Endnachricht lautet 06 [Letzte Id vom Server] [Derzeitige Id vom Client]
Ob die 64er Nachricht vor der 06er-Nachricht optional ist, weiß ich nicht. Jedenfalls kann man alle
Daten aus der Nachricht des Server ableiten, denn falls '00 A B [...]' vom Server kommt
lautet die Antwort
06 B A+1 oder
64 A+1
06 B A+1