Jakby ktoś był zainteresowany, to mam więcej informacji na temat
pakietów GG_USERLIST_REQUEST100 i GG_USERLIST_REPLY100
Ich format to:
struct gg_userlist_100
{
int type; // 0x40 lub 0x41
int size; // 0x07 to wartość minimalna
char flags;
int version;
char always02; // zawsze 0x02
char alway
Udało mi się potwierdzić pakiet 5c.
Jest on wysyłany przez serwer po każdej zmianie listy kontaktów i
zawiera numer wersji tej listy.
Jego postać to:
struct gg_userlist_version_notify
{
int type; // 5c 00 00 00
int size; // 04 00 00 00
int version; // numer wersji
}
___
Wygląda na to, że odwaliłem nieco nikomu niepotrzebnej roboty ;) Bo
pakiet jest bardzo podobny do tego z wersji 80. Za to odkryłem coś, co
na razie wydaje mi się wersjonowaniem listy kontaktów na serwerze. Oto
nagłówki pakietów z małej sesji na nowym koncie:
start programu
-> 40 00 00 00 e9 01 00
A tu załączam poprawnie sformatowany XML przez tidy ;)
----
Moje kontakty
true
false
----0001
Ignorowani
true
false
15343a14-807c-4cf1-beae-3668922bab95
Hej. Posiedziałem trochę nad dumpami tego pakietu i oto jako się moje wnioski:
1. pakiet powinien się nazywać GG_USERLIST_SEND_100, ponieważ klient
gg10 wysyła nim aktualną swoją listę kontaktów na serwer
2. format pakietu jest następujący:
struct gg_userlist_send_100
{
int type; // 40 00 00