Цитата:
Сообщение от NoFear
мне приходит пакет 00 04 2B 28 45 5A 78 00 00 - причем 2 байт всегда разный ..
|
04 2B 28 45 - это ID сессии, на него при ревизии 5A 78 00 00 можн забить
пакетик с логином и паролем формируется примерно так:
delphi Код:
procedure AddChecksum(var data:array of char; position: Word);
var
i,k:Word;
begin
k := (position div 4)-1;
for i := 0 to k do
PCardinal(@data[position])^:=PCardinal(@data[position])^ xor PCardinal(@data[i*4])^;
end;
function RequestAuthLogin_785a(const Login,
Pasword: String): string;
var
Packet: TPacket;
LoginD:array[0..13] of Char;
PaswordD:array[0..15] of Char;
begin
with Packet do begin
InitWrite;
FillChar(LoginD,14,0);
FillChar(PaswordD,16,0);
Move(Login[1],LoginD,Length(Login));
Move(Pasword[1],PaswordD,Length(Pasword));
WriteB(0); // Packet ID
Write(LoginD,14); // Login
Write(PaswordD,16); // Password
WriteB(8); // Seporator
WriteD(0);
WriteD(0);
WriteD(0); // Checksum
WriteD(0);
AddChecksum(data[3],40);
Result:=data;
end;
end;