Показать сообщение отдельно
Старый 26.07.2008, 17:26   #8
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию место в коде

спасибо за помощь.
теперь естестено стоит задача "ключика".
Порядок начальных пакетов на серве не меняется и из 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 байт ключа увеличивается на единицу.
alexsl вне форума   Ответить с цитированием