спасибо за помощь.
теперь естестено стоит задача "ключика".
Порядок начальных пакетов на серве не меняется и из 3 пакета можно выдернуть ключик.
пакеты от клиента:
пакет № 1 - 00 93 02 00 00 .......... Protocol Version
пакет № 2 - 08 75 00 7A 00 .......... RequestAuthLogin
// отсюда взять ключик
пакет № 3 - 0D 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
теперь загвоздка в коде. =( как это дело реализовать?
верно ли будет размещен кусок кода:
Код:
procedure PacketProcesor(PacketData: array of Byte; SendSocket: TSocket; id, From: Byte);
<--cut-->
begin
<--cut-->
if (Packet.Size>2) then
case From of
1: Thread[id].InitXOR:=False;
2: Thread[id].InitXOR:=False;
3: begin //Р_С' Р"РЎ
<--cut-->
if (Thread[id].pckCount=3)then
begin
// тут расшифровка пакета и
// инициализация ключа
end;
<--cut-->
if L2PacketHackMain.ChkXORfix.Checked and(Thread[id].pckCount=4)then
begin
<--cut-->
ii:=$13 or ((Packet.size - 7) div 295) shl 8;
<--cut-->
зы: на вскидку, шифрация исходящих почти стандартная, только через каждый 8 пакет 2 байт ключа увеличивается на единицу.