コード例 #1
0
ファイル: Auth.cs プロジェクト: RichardZhaoE/CLB
        private static byte[] AuthFirst(string user, string pass)
        {
            var data = new PacketWriter();

            data.WriteInt(8);
            data.WriteUnicodeString(user);
            data.WriteUnicodeString(pass);
            data.WriteBytes(0x00, 0x00, 0x13, 0x22, 0x00, 0x02, 0x01, 0x00);
            data.WriteZero(10);
            data.WriteUnicodeString(GetRandomString(23)); // 23 Random characters (Length 46 as unicode)
            data.WriteInt(1);
            data.WriteZero(2);

            return(AuthCipher.WriteHeader(AUTH_1, authKey1, data.ToArray()));
        }
コード例 #2
0
ファイル: Session.cs プロジェクト: anhtanh95/MaplePacketLib
        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();
        }