Доброй ночи, пробую разобраться с дешифрацией пакетов от сервера. На разных форумах вычитал что для дешифрования используется 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