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); }
public override void OnPacketInbound(Packet pPacket) { Console.WriteLine("Got packet from client -> Server: " + pPacket.ToString()); base.PrintPacket(pPacket, " CLIENT -> BYPASS", true); //string header = pPacket.ToString().Substring(0, 2); // NOTE: Do not use this. It'll slow down the connection a whole lot. Just read the first ushort and use it. if (Program.ServerSession != null) { ushort header = pPacket.ReadUShort(); Program.ServerSession.SendPacket(pPacket); switch (header) { case 0x0036: SendLoginData(Form1.Username, Form1.Password); break; case 0x002F: HandleIntAuth(pPacket); break; } } }
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()); }