Example #1
0
        internal void Start(ServerInfo info)
        {
            if (info != null)
            {
                var siv = new byte[4];
                var riv = new byte[4];

                Random.NextBytes(siv);
                Random.NextBytes(riv);

                m_clientCipher = new MapleCipher(info.Version, siv, m_aesCipher, CipherType.Encrypt);
                m_serverCipher = new MapleCipher(info.Version, riv, m_aesCipher, CipherType.Decrypt);

                using (var p = new PacketWriter(14, 16))
                {
                    p.WriteShort(info.Version);
                    p.WriteMapleString(info.Subversion);
                    p.WriteBytes(riv);
                    p.WriteBytes(siv);
                    p.WriteByte(info.Locale);

                    SendRawPacket(p.ToArray());
                }
            }

            Receive();
        }
Example #2
0
        internal void Start(ServerInfo info)
        {
            m_serverCipher = new MapleCipher(info.Version, info.Riv, m_aesCipher, CipherType.Decrypt);
            m_clientCipher = new MapleCipher(info.Version, info.Siv, m_aesCipher, CipherType.Encrypt);

            PacketWriter pw = new PacketWriter(15, 17);

            pw.WriteShort(info.Version);
            pw.WriteMapleString(info.Subversion);
            pw.WriteBytes(info.Riv);
            pw.WriteBytes(info.Siv);
            pw.WriteShort(info.Locale);

            SendRawPacket(pw.ToArray());

            Receive();

            Debug.WriteLine("Started local server (toClient)");
        }
Example #3
0
        internal void Start(ServerInfo info)
        {
            if (info != null)
            {
                byte[] siv = new byte[4];
                byte[] riv = new byte[4];
                var    rng = new Random(Interlocked.Increment(ref rngSeed));

                rng.NextBytes(siv);
                rng.NextBytes(riv);
                clientCipher = new MapleCipher(info.Version, siv, aesCipher);
                serverCipher = new MapleCipher(info.Version, riv, aesCipher);

                var p = new PacketWriter(14, 16);
                p.WriteShort(info.Version);
                p.WriteMapleString(info.Subversion);
                p.WriteBytes(riv);
                p.WriteBytes(siv);
                p.WriteByte(info.Locale);
                SendRawPacket(p.ToArray());
            }

            Receive();
        }