Esempio n. 1
0
        public HandleServerConnect(Client client, byte[] packet)
        {
            PacketReader Reader = new PacketReader(packet);

            Reader.ReadByte();                       // unknown
            Reader.ReadByte();                       // unknown
            int Host = Reader.ReadInt();
            int Port = Reader.ReadShort();
            int CharacterID = Reader.ReadInt();
            Reader.ReadByte();                       // unknown
            Reader.ReadInt();                      // unknown

            client.ChangeIntConnection(Host, Port);

            byte[] Buffer = { 0x00, 0xE0, 0x4D, 0xA6, 0xA5, 0xCF, 0xB4, 0x68, 0xCB, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x32, 0xFD, 0x00, 0x00 };

            PacketWriter Writer = new PacketWriter();
            Writer.WriteShort((short)PacketOpcodes.sChannelConnect);
            Writer.WriteInt(CharacterID);
            Writer.WriteBytes(Buffer);
            Writer.WriteBytes(client.Account.SessionID);

            client.SendPacket(Writer);
        }
Esempio n. 2
0
        /// <summary>
        /// Handles account login.
        /// Encrypts password and send login packet.
        /// </summary>
        /// <param name="client">Client from which packet was received</param>
        /// <param name="packet">Packet to be handled</param>>
        public HandleLogin(Client client, byte[] packet)
        {
            PacketReader Reader = new PacketReader(packet);

            int Length = Reader.ReadShort();
            byte[] Key = Reader.ReadBytes(Length);
            string PwEncrypted = Encoding.ASCII.GetString(Crypto.WzRSAEncrypt.Encrypt(Key, Length, client.Account.Password));

            byte[] Buffer = { 0x00, 0xE0, 0x4D, 0xA6, 0xA5, 0xCF, 0xB4, 0x68, 0xCB, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x32, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00 };

            PacketWriter Writer = new PacketWriter();
            Writer.WriteShort((short)PacketOpcodes.sLogin);
            Writer.WriteMapleString(client.Account.Username);
            Writer.WriteMapleString(PwEncrypted);
            Writer.WriteMapleString("00E04DA6A5CF_B468CBE4");
            Writer.WriteBytes(Buffer);
            client.SendPacket(Writer);
        }