Witam.
Postanowiłem napisać własny moduł do obsługi GaduGadu w delphi.
Wzoruję się na tym: http://toxygen.net/libgadu/protocol/
Rekord logowania wygląda u mnie tak:
TrLOGIN = record
Header : TrHeader;
var UID : integer;
const Language : string[2] = 'pl';
var hash_type : char;
var hash : string[64];
var status : integer;
const flags : integer = 0;
const features : integer = 1;
//not used
const local_ip : integer = 0;
const local_port : shortint = 0;
const external_ip : integer = 0;
const external_port : shortint = 0;
//not used end
var image_size : byte; //or char
const unknown : byte = 100; //or char
const version_len : integer = 33;
const version : string[33] = 'Gadu-Gadu Client build 8.0.0.7669';
var description_size : integer;
var description : string;
end;
Z tym, że:
TrHeader = record
VType : integer;
VLength : integer;
end;
Pole VLength liczę tak:
SizeOf(LoginPackage) - SizeOf(TrHeader)
Po wysłaniu takiego pakietu serwer odpowiada pustym pakietem, w kórym VType = wydaje mi się losowa liczba (ostatnio było to 53554).
Wie ktoś gdzie popełniłem błąd?
2 dni już nad tym siedzę i nie mogę wymyślić...
Z góry dziękuje za odpowiedź i pozdrawiam
tlaguz
P.S.
Udało mi się odebrać seed i obliczyłem hasło (mam nadzieję, że poprawnie :-) )