Пример #1
0
        public void Handshake(ServerInfo serverInfo)
        {
            _encryptIV = new byte[4];
            rnd.NextBytes(_encryptIV);
            _decryptIV = new byte[4];
            rnd.NextBytes(_decryptIV);

            using (OutPacket outPacket = new OutPacket())
            {
                outPacket.WriteUShort(serverInfo.Version);
                outPacket.WriteString(serverInfo.Subversion);
                outPacket.WriteBytes(_decryptIV);
                outPacket.WriteBytes(_encryptIV);
                outPacket.WriteByte((byte)serverInfo.Localisation);
                outPacket.WriteByte(); // NOTE: Unknown, added in v.160.1.

                this.Send(outPacket.ToArray());
            }

            Session.AssignUserKey(this.ServerInfo);
        }
Пример #2
0
        public void Handshake(ServerInfo serverInfo)
        {
            _encryptIV = new byte[4];
            rnd.NextBytes(_encryptIV);
            _decryptIV = new byte[4];
            rnd.NextBytes(_decryptIV);

            using (OutPacket outPacket = new OutPacket())
            {
                outPacket.WriteUShort(serverInfo.Version);
                outPacket.WriteString(serverInfo.Subversion);
                outPacket.WriteBytes(_decryptIV);
                outPacket.WriteBytes(_encryptIV);
                outPacket.WriteByte((byte)serverInfo.Localisation);
                outPacket.WriteByte(); // NOTE: Unknown, added in v.160.1.

                this.Send(outPacket.ToArray());
            }

            Session.AssignUserKey(this.ServerInfo);
        }