Показать сообщение отдельно
Старый 10.05.2010, 02:14   #1
Новичок
 
Регистрация: 10.05.2010
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Coder пока неопределено
По умолчанию Получение ключа при авторизации и дешифрация

Доброй ночи, пробую разобраться с дешифрацией пакетов от сервера. На разных форумах вычитал что для дешифрования используется L2BlowFish, нашел его, посмотрел... на сколько я понял, теперь мне необходим ключ дешифрования, который клиент получает от сервера при установке соединения. Сниффером просматриваю входящие пакеты на порту 2106. После ввода логина/пароля и начала входа, приходят 4 пакета, 186, 42, 66, 26 байт. В каком их них искать этот КЛЮЧ?

Я надеюсь что мне ответят на первую часть вопроса, и на ответ на вторую часть я тоже надеюсь =)

Код:
var
  KeyBF: String;
  bfData: L2BlowFish;
  _b: String; //Тут у меня содержимое пакета на порту 7777
  _x: array [0..2500] of Char; //:confused:

...
  //Я предположил что пакет размером 42 байта содержит ключ и...
  bfData:=L2BlowFish.Create;
  FillChar(KeyBF,21,0);
  Move(_b[1],KeyBF,20);
  bfData.Init(KeyBF, 21); //Попытался

...
  //А к остальным пакетам, я стал применять это шаманство
  Move(_b, _x, PacketInfo.PacketLen);
  bfData.bfDecode(_x, PacketInfo.PacketLen);
...
//Дальше я вывел то, что попало в заветный _x, и я думаю вы догадались что я увидел...
Когда в игре начинаешь перемещать персонажа, идут пакеты по 31 байт. (незнаю зачем я это написал)

Вразумите меня, как работать с этой дешифрацией? Клиент GFPlus RUOFF

Последний раз редактировалось Coder, 10.05.2010 в 02:16. Причина: Корректировка мысли
Coder вне форума   Ответить с цитированием