Алёна,
delphi Код:
procedure LoginXOREncrypt(var xpck: TFixPck);
var
i,k: Integer;
begin
i:=xpck.size-8;
k:=PInteger(@xpck.ch[i])^;
i:=6;
while i<xpck.size-8 do begin
k:=k+PInteger(@xpck.ch[i])^;
PInteger(@xpck.ch[i])^:=PInteger(@xpck.ch[i])^ xor k;
i:=i+4;
end;
i:=xpck.size-8;
PInteger(@xpck.ch[i])^:=k;
end;
procedure LoginXORDecrypt(var xpck: TFixPck);
var
i,k: Integer;
begin
i:=xpck.size-8;
k:=PInteger(@xpck.ch[i])^;
while i>=6 do begin
PInteger(@xpck.ch[i])^:=PInteger(@xpck.ch[i])^ xor k;
k:=k-PInteger(@xpck.ch[i])^;
i:=i-4;
end;
end;