вот весь алгоритм:
Offset := $13 or ((TempPacket.size-7) div 295) shl 8;
PInteger(@TempPacket.Data[0])^:=PInteger(@TempPacket.Data[0])^ xor Offset xor PInteger(@(xorS.GKeyS[0]))^;
это для пакета со списком чаров (первый зашифрованный пакет от сервера)
тут в Offset заносится количество чаров на аке во второй байт (вычисляется исходя из размера пакета), и id пакета ($13) в первый байт
тока перед всеми этими операция дешифруем неверным ключем
а дальше чтобы получить ключ настоящий ксорим первые 4 байта пакета на Offset и на первые 4 байта неверного ключа
__________________
Я здесь практически не появляюсь!, Skype - ikskor
|