public void AddUnknowPacket(phPacket packet) { }
public void AddFaildPacket(phPacket packet, Exception ex) { }
public void AddPacket(phPacket packet) { string type = "Unknow"; bool enrypted = false; switch (packet.SecurityCount) { case 1: type = "C->S"; break; case 2: //Server type = "S->C"; break; case 3: type = "C->S"; enrypted = true; break; case 4: type = "S->C"; enrypted = true; break; } PacketLog.LogThis(string.Format("Opcode:{0} Type:{1} Encrypted:{2} Data:{3}", packet.OpcodeHEX, type, enrypted, packet.ToString()), 0); //Add to OpcodeList var opcode = lvOpcodeList.FindItemWithText(packet.OpcodeHEX, true, 0); if (opcode == null) { var lvOpcode = new ListViewItem(packet.OpcodeHEX); lvOpcode.SubItems.Add(type); lvOpcode.SubItems.Add("Unknow"); lvOpcode.SubItems.Add("None"); lvOpcodeList.Items.Insert(0, lvOpcode); //Write INI opcodesINI.Write(packet.OpcodeHEX, "Opcode", packet.OpcodeHEX); opcodesINI.Write(packet.OpcodeHEX, "Name", "Unknow"); opcodesINI.Write(packet.OpcodeHEX, "Type", type); opcodesINI.Write(packet.OpcodeHEX, "Modifier", "None"); } //Add to PacketList switch (type) { case "S->C": if (checkServerPackets.Checked) { var lvPacket = new ListViewItem(packet.OpcodeHEX); lvPacket.SubItems.Add(type); if (opcode == null) { lvPacket.SubItems.Add("Unknow"); //Name lvPacket.SubItems.Add(packet.ToString()); lvPacketList.Items.Insert(0, lvPacket); } else { //Get Name lvPacket.SubItems.Add(opcode.SubItems[2].Text); //Name lvPacket.SubItems.Add(packet.ToString()); //Check for modifier var listenOpcodes = lvOpcodeList.Items.Find("Listen", true); if (listenOpcodes.Length == 0) { if (opcode.SubItems[3].Text == "Ignore") { lvPacket = null; packet.Dispose(); packet = null; } else //Dont ignore { lvPacketList.Items.Insert(0, lvPacket); } } else //Listen mode is active { if (opcode.SubItems[3].Text == "Listen") { lvPacketList.Items.Insert(0, lvPacket); } } } } break; case "C->S": if (checkClientPackets.Checked) { var lvPacket = new ListViewItem(packet.OpcodeHEX); lvPacket.SubItems.Add(type); if (opcode == null) { lvPacket.SubItems.Add("Unknow"); //Name lvPacket.SubItems.Add(packet.ToString()); lvPacketList.Items.Insert(0, lvPacket); } else { //Get Name lvPacket.SubItems.Add(opcode.SubItems[2].Text); //Name lvPacket.SubItems.Add(packet.ToString()); //Check for modifier var listenOpcodes = lvOpcodeList.Items.Find("Listen", true); if (listenOpcodes.Length == 0) { if (opcode.SubItems[3].Text == "Ignore") { lvPacket = null; packet.Dispose(); packet = null; } else //Dont ignore { lvPacketList.Items.Insert(0, lvPacket); } } else //Listen mode is active { if (opcode.SubItems[3].Text == "Listen") { lvPacketList.Items.Insert(0, lvPacket); } } } } break; case "None": Console.Beep(); break; } }