Ejemplo n.º 1
0
        protected void SendMemoryRegions()
        {
            if (IsConnectedAsClient || !MEMORY_CRC_ENABLED)
            {
                return;
            }

            var packet = new Packet(ServerMessages.SECURITY_SOMETHING);

            packet.WriteByte(0);

            var regions = MemoryRegions.Instance.Regions;

            _memoryOffset = rnd.Next(0, MemoryRegions.Instance.MaxRandomMemoryOffset);

            packet.WriteShort((short)regions.Count);
            foreach (var region in regions)
            {
                packet.WriteUInt(region.Address + (uint)_memoryOffset);
                packet.WriteInt(region.Length - _memoryOffset);
            }

            SendPacket(packet);


            UseMemoryCRC = true;
        }
Ejemplo n.º 2
0
 public override void sendWorldListReRequest()
 {
     Packet packet = new Packet();
     packet.WriteShort(0x19);
     SendCheckedPacket(packet);
 }
Ejemplo n.º 3
0
 public override void sendPong()
 {
     Packet packet = new Packet();
     packet.WriteShort(0x39);
     packet.WriteShort(0); // Same as MSEA?
     packet.WriteInt(0); // 0
     packet.WriteInt(0); // Random ?
     SendCheckedPacket(packet);
 }
Ejemplo n.º 4
0
 public void sendHSKey(int pValue)
 {
     var packet = new Packet();
     packet.WriteShort(0x25);
     packet.WriteByte(0);
     packet.WriteInt(pValue);
     packet.WriteInt(0);
     _session.SendPacket(packet);
 }
Ejemplo n.º 5
0
 public void sendHSInit()
 {
     var packet = new Packet();
     packet.WriteShort(0x25);
     packet.WriteByte(1);
     packet.WriteLong(0);
     SendCheckedPacket(packet);
 }
Ejemplo n.º 6
0
 public override void sendClientReady()
 {
     sendHSInit();
     Packet packet = new Packet();
     packet.WriteShort(0x32);
     packet.WriteByte(_locale);
     packet.WriteShort(version);
     packet.WriteShort(subversion);
     SendCheckedPacket(packet);
 }
Ejemplo n.º 7
0
 public override void sendWorldListReRequest()
 {
     Packet packet = new Packet();
     // packet.WriteShort(0x19);
     packet.WriteShort(0x1A);
     _session.SendPacket(packet);
 }
Ejemplo n.º 8
0
        public override void sendPong()
        {
            Packet packet = new Packet();
            if (HandlingVersion >= 153)
                packet.WriteShort(0x46);
            else if (HandlingVersion >= 145)
                packet.WriteShort(0x45);
            else if (HandlingVersion >= 143)
                packet.WriteShort(0x46);
            else if (HandlingVersion >= 118)
                packet.WriteShort(0x2D);
            else if (HandlingVersion >= 115)
                packet.WriteShort(0x2C);
            else if (HandlingVersion >= 101)
                packet.WriteShort(0x2E);
            else if (HandlingVersion >= 99)
                packet.WriteShort(0x1B);
            else if (HandlingVersion >= 86)
                packet.WriteShort(0x1A);
            else if (HandlingVersion >= 83)
                packet.WriteShort(0x19);
            else
                packet.WriteShort(0x18);

            if (HandlingVersion >= 143)
                packet.WriteInt(0);

            _session.SendPacket(packet);
        }
Ejemplo n.º 9
0
 public override void sendClientReady()
 {
     Packet packet = new Packet();
     packet.WriteShort(0x14);
     packet.WriteByte(_locale);
     packet.WriteShort(version);
     packet.WriteShort(subversion);
     _session.SendPacket(packet);
 }
Ejemplo n.º 10
0
 private void SendLoginData(string username, string password)
 {
     Packet writer = new Packet();
     writer.WriteShort(0x01);
     writer.WriteMapleString(password);
     writer.WriteMapleString(username);
     Program.ServerSession.SendPacket(writer);
 }
Ejemplo n.º 11
0
        private void HandleIntAuth(Packet pPacket)
        {
            //int x;
            Packet writer = new Packet();
               // lol = new Tools.LookupTable(Application.StartupPath + @"\data.txt");
            //lol.Parse();

            // 30 00 XX XX 00 00
            // Skipping header..
            //       XX XX 00 00

            //pPacket.Skip(2);

            int request = pPacket.ReadInt();

            writer.WriteShort(0x14);
            writer.WriteInt(Test(request));

            Console.WriteLine("Response: " + writer.ToString());
            this.SendPacket(writer);
        }
Ejemplo n.º 12
0
        private void ConnectToChannelServer(Packet pPacket)
        {
            ushort status = pPacket.ReadUShort();
                string ip = string.Format("{0}.{1}.{2}.{3}", pPacket.ReadByte(), pPacket.ReadByte(), pPacket.ReadByte(), pPacket.ReadByte());
                // Ignore IP
                ushort port = pPacket.ReadUShort();
                byte[] leftover = pPacket.ReadLeftoverBytes();

                CCing = true;
                NextPort = port;

                Packet packet = new Packet();
                packet.WriteUShort(0x000B);
                packet.WriteShort(0);
                packet.WriteBytes(Constants.MapleStory_LoginIP_Bytes);
                packet.WriteUShort(8484);
                packet.WriteBytes(leftover);
                ClientSession.Instance.SendPacket(packet);

                Console.WriteLine("Status " + status + " ConnectToChannelServer: " + packet.ToString());
        }
Ejemplo n.º 13
0
 public override void sendPong()
 {
     Packet packet = new Packet();
     if (version >= 139)
         packet.WriteShort(0x44);
     else
         packet.WriteShort(0x43);
     packet.WriteInt(0);
     packet.WriteShort(0);
     SendCheckedPacket(packet);
 }
Ejemplo n.º 14
0
 public override void sendClientReady()
 {
     sendHSInit();
     var packet = new Packet();
     if (version >= 139)
         packet.WriteShort(0x3D);
     else
         packet.WriteShort(0x3C);
     packet.WriteByte(_locale);
     packet.WriteShort(version);
     packet.WriteShort(subversion);
     SendCheckedPacket(packet);
 }