guplen, ты описал ксор шифрацию гейм сервера, на логин сервере первый пакет ксором дешифруется так:
delphi Код:
procedure LoginXORDecrypt(var xpck: TFixPck);
var
i,k: Integer;
begin
i:=xpck.size-8; // узнаем номер первого байта ключа (186-8=178)
k:=PInteger(@xpck.ch[i])^; // записываем ключ в 4хбайтовую переменную
while i>=6 do begin // пока позиция больше или равна 6
PInteger(@xpck.ch[i])^:=PInteger(@xpck.ch[i])^ xor k; // ксорим очередные 4 байта на ключ
k:=k-PInteger(@xpck.ch[i])^; // вычитаем из ключа то что получилось
i:=i-4; // перемещаемся к предыдущим 4м байтам
end;
end; // усё
короче тут не по одному байту ксорим а по 4, хотя в яве наверно ксорят по одному ибо там сложности с приведением типов...