Спасибо за консультацию. Логин сервер я прошел. Ошибка при использовании RSA была в том что 1-й бит 128 байтного числа был 1 и Net класс BigInteger принимал это число за отрицательное. Сделав число 129 байтным добавив «00» в старшем регистре удалось «обмануть» BigInteger.
Теперь разбираюсь что поменялось в пакете InitKey (CryptInit) . в с4 ксор ключ был 8 байт, 4 шло в пакете CryptInit, 4 были константой. В новой версии
Код:
writeC(0x2e);
39 writeC(_id); //0 - wrong protocol, 1 - protocol ok
40 for (int i = 0; i < 8; i++)
41 {
42 writeC(_key[i]); // key
43 }
44 writeD(0x01);
45 writeD(0x01); // server id
46 writeC(0x01);
47 writeD(0x00); // obfuscation key
Но пакет пришел чуть другой:
Код:
19 00
2E
01
70 D9 A8 CF | 12 83 3D 5E
01 00 00 00
01 00 00 00
00
92 A3 C9 48
Какой длинны ключ в грации финал?