public static string PacketToCsCode(ConanPacket packet, string comment = null) { var var = (comment != null ? "// " + comment + "\r\n" : "") + (packet.HeaderData != null && packet.HeaderData.Length > 0 ? "var headerData = new byte[]" + packet.HeaderData.ToArray().ToHex() + ";\r\n" : "") + "var sender = new byte[]" + packet.SenderInt.ToHex() + ";\r\n" + "var receiver = new byte[]" + packet.ReceiverInt.ToHex() + ";\r\n" + (packet.Data != null ? "var packetData = new byte[]" + packet.Data.ToArray().ToHex() + ";\r\n" : "") + "\r\n" + "new PacketBuffer()" + "\r\n" + " .WriteHeader(sender, receiver, " + (packet.HeaderData != null && packet.HeaderData.Length > 0 ? "headerData" : "null") + ", " + packet.Opcode.ToHex() + ", true)\r\n" + (packet.Data != null ? " .WriteArray(packetData)\r\n" : "") + " .Send(client);\r\n"; return var; }
public static void Main(string[] args) { LibFaolan.DllImport.Console.EnableQuickEditMode(); while (true) { Console.Write("Input: "); var hexStream = Console.ReadLine(); if (string.IsNullOrEmpty(hexStream)) { Error(); continue; } var bytes = Functions.HexStreamToByteArray(hexStream); if (bytes == null) { Error(); continue; } try { var conanPacket = new ConanPacket(new PacketBuffer(bytes)); Console.WriteLine("=====================================================================\r\n"); Console.WriteLine(PacketUtills.PacketToCsCode(conanPacket)); Console.WriteLine("=====================================================================\r\n"); } catch { Error(); } } }
public PacketWrapper(uint id, IPv4Packet ipv4, ushort sourcePort, ushort destPort, ConanPacket conanPacket) { Id = id; ConanPacket = conanPacket; EthernetPacket = new EthernetPacket(NullAddress, NullAddress, EthernetPacketType.IpV4) { PayloadPacket = ipv4 }; Ipv4Packet.PayloadPacket = new UdpPacket(sourcePort, destPort); // conandata }
public static string ChainedPacketToCsCode(ConanPacket packet, int id) { var hasHeaderData = (packet.HeaderData != null && packet.HeaderData.Length > 0); var headerDataName = (hasHeaderData ? "headerdata" + id : "null"); var addSenderData = false; var senderName = ""; var senderData = packet.SenderInt.ToHex(); if (Senders.ContainsValue(senderData)) senderName = Senders.FirstOrDefault(s => s.Value == senderData).Key; else { senderName = "sender" + Senders.Count; Senders[senderName] = senderData; addSenderData = true; } var addReceiverData = false; var receiverName = ""; var receiverData = packet.ReceiverInt.ToHex(); if (Receivers.ContainsValue(receiverData)) receiverName = Receivers.FirstOrDefault(s => s.Value == receiverData).Key; else { receiverName = "receiver" + Receivers.Count; Receivers[receiverName] = receiverData; addReceiverData = true; } var packetDataName = "packetData" + id; var var = (addSenderData ? "var " + senderName + " = new byte[]" + senderData + ";\r\n" : "") + (addReceiverData ? "var " + receiverName + " = new byte[]" + receiverData + ";\r\n" : "") + (hasHeaderData ? "var " + headerDataName + " = new byte[]" + packet.HeaderData.ToArray().ToHex() + ";\r\n" : "") + (packet.Data != null ? "var " + packetDataName + " = new byte[]" + packet.Data.ToArray().ToHex() + ";" : "") + "\r\n" + "new PacketBuffer()" + "\r\n" + " .WriteHeader(" + senderName + ", " + receiverName + ", " + headerDataName + ", " + packet.Opcode.ToHex() + ", true)\r\n" + (packet.Data != null ? " .WriteArray(" + packetDataName + ")\r\n" : "") + " .Send(client);\r\n"; return var; }
private bool ReadMessage(ICollection<IScsMessage> messages) { if (_stream == null || _stream.Length == 0) return false; _stream.Position = 0; var packet = new ConanPacket(_stream); if (packet.Length != UInt32.MaxValue) { messages.Add(packet); Functions.TrimStream(ref _stream); return true; } _backBuffer = _stream.ToArray(); return false; }
private void HandleCommandPacket(NetworkClient client, Account account, ConanPacket packet) { var recObjTyp = packet.Data.ReadUInt32(); var recClientInst = packet.Data.ReadUInt32(); var unk0 = packet.Data.ReadByte(); var recDataLength = packet.Data.ReadUInt32(); var unk2 = packet.Data.ReadUInt32(); var unk3 = packet.Data.ReadByte(); var runByte = packet.Data.ReadByte(); UInt32 recVal = 0; var runId = 0; while (runByte != 0x22) { if (runId == 0) recVal = runByte; if (runId == 1) recVal += (runByte*0x100u); if (runId == 2) recVal += (runByte*0x10000u); if (runId == 3) recVal += (runByte*0x1000000u); runByte = packet.Data.ReadByte(); runId++; } var recCmd = packet.Data.ReadShortString(); var strend = packet.Data.ReadByte(); var unk4 = packet.Data.ReadUInt16(); // MELVIN var recSecCmd = packet.Data.ReadShortString(); switch (recCmd) { case "IntroDone": { var aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000019); aBuffer.WriteUInt32(0x96b8dc59); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteByte(0); aBuffer.WriteUInt32(0x00000001); aBuffer.WriteUInt32(0x000000ba); aBuffer.WriteUInt32(0); aBuffer.Send(client); } break; case "ChangeSex": account.Character.Sex = (byte) recVal; break; case "ChangeRace": account.Character.Race = (byte) recVal; break; case "ChangeHeadMesh": account.Character.HeadMesh = recVal; break; case "ChangeSize": account.Character.Size = (byte) recVal; break; case "ChangeClass": account.Character.Class = (byte) recVal; break; case "ChangeVoice": account.Character.Voice = (byte) recVal; break; case "SetMorphValue": Logger.Info("Second Command: " + recSecCmd + " with value: " + recVal); if (recSecCmd.Length > 0) { //vector<string> scriptData = String::splitString(recSecCmd, "_"); //Logger.Info("Splitted String: %s - " + scriptData[0], scriptData[1]); account.CreateCounter++; account.CreateState = 1; new PacketStream().WriteHeader(Sender2, Receiver2, null, 0x2000) .WriteArrayPrependLengthUInt32(new ConanStream() //aBuffer.WriteUInt32(recSecCmd.Length + (5*4) + (1*2) + (2*1)); // length .WriteUInt32(0xbadf5a4b) .WriteUInt32(0x0000c350) .WriteUInt32(account.ClientInstance) .WriteByte(0) .WriteString(recSecCmd) .WriteUInt32(0x3f800000) .WriteByte(0) .WriteUInt32(account.CreateCounter + 1)) .Send(client); } else { account.CreateCounter = 0; } break; case "TheNameIs": { Logger.Info("Attempt to create Char with the name: " + recSecCmd); account.Character.Name = recSecCmd; //MELVIN /*if (!Database.isValidCharName(account.charInfo.Name)) { //TODO add missing return packet Logger.Info("Charname is incorrect !"); closesocket(account.clientSocket); break; */ var aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(account.Character.Name.Length + (5*4) + (1*2) + (1*1)); aBuffer.WriteUInt32(0xadce0cda); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x03010000); aBuffer.WriteByte(0); aBuffer.WriteString(account.Character.Name); aBuffer.Send(client); var data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1f, 0x08, 0x05, 0x10, 0x02, 0x18, 0x00, 0x22 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(account.Character.Name.Length + (10 + 1) + data.Length + (4*4) + (1*2) + (2*1)); aBuffer.WriteUInt32(0xa36d3b74); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data); aBuffer.WriteString("NicknameOk"); aBuffer.WriteByte(0x2a); aBuffer.WriteString(account.Character.Name); aBuffer.WriteUInt32(0x32040800); aBuffer.WriteUInt16(0x1000); aBuffer.Send(client); var data2 = new byte[] { 0x00, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x00, 0xcf, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x46, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(data2.Length + (3*4)); aBuffer.WriteUInt32(0xf508f4c1); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data2); aBuffer.Send(client); var data3 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x24, 0x08, 0x05, 0x10, 0x02, 0x18, 0x00, 0x22, 0x14, 0x43, 0x68, 0x61, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x2a, 0x00, 0x32, 0x04, 0x08, 0x00, 0x10, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(data3.Length + (3*4)); aBuffer.WriteUInt32(0xa36d3b74); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data3); aBuffer.Send(client); var data4 = new byte[] { 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf6, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0a, 0x08, 0xc5, 0xc3, 0x02, 0x18, 0x01, 0x28, 0x18, 0x30, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(data4.Length + (1*4)); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteArray(data4); aBuffer.Send(client); var data5 = new byte[] { 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf7, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0a, 0x08, 0xc5, 0xc3, 0x02, 0x18, 0x01, 0x28, 0x18, 0x30, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(data5.Length + (1*4)); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteArray(data5); aBuffer.Send(client); var data6 = new byte[] { 0x01, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x14 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(data6.Length + (3*4)); aBuffer.WriteUInt32(0xf98e10b3); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data6); aBuffer.Send(client); } break; default: Logger.Info("Receive unknown command: {0} with value {1}", recCmd, recVal); break; } }
private void Handle0X2000(NetworkClient client, Account account, ConanPacket packet) { var pbLength = packet.Data.ReadUInt32(); var pbOpcode = (DataOpcodes) packet.Data.ReadUInt32(); Logger.Info("Received data opcode: " + pbOpcode + " (" + pbOpcode.ToHex() + ")"); switch (pbOpcode) { case DataOpcodes.Oxf98E10B3: { Handle0Xf98E10B3(client, account, packet); break; } case DataOpcodes.Ox36D3B74: { HandleCommandPacket(client, account, packet); break; } case DataOpcodes.Move: { var dataobjdec = packet.Data.ReadUInt32(); var dataclientinst = packet.Data.ReadUInt32(); var movingType = (MovingTypes) packet.Data.ReadUInt16(); switch (movingType) { case MovingTypes.MountedRun: case MovingTypes.Walk: case MovingTypes.Jump: case MovingTypes.WalkJump: case MovingTypes.MountedJump: case MovingTypes.Falling: case MovingTypes.Ox011A: // run case MovingTypes.Ox011E: // rotate? case MovingTypes.Ox001E: case MovingTypes.Ox001A: { var charCoords = packet.Data.ReadVector3(); var datadat = packet.Data.ReadArray(pbLength - 6*4 + 1*2); //var recvClient = Accounts.FirstOrDefault(a => a.ClientInstance == dataclientinst); //recvClient.Character.Position = charCoords; account.Character.Position = charCoords; // send to all (nearby) clients? new PacketStream().WriteHeader(Sender5, Receiver5, null, 0x2000) .WriteArrayPrependLengthUInt32(new ConanStream() .WriteUInt32(pbOpcode) .WriteUInt32(dataobjdec) .WriteUInt32(dataclientinst) .WriteUInt16(movingType) .WriteVector3(charCoords) .WriteArray(datadat)) .Send(client); break; } default: { Logger.Info("Received unknown moving type: " + movingType.ToHex()); break; } } break; } case DataOpcodes.ReadyForPlayScreen: //peer0_160 { SendReadyForPlayScreen(client, account); if (account.Character.Level == 0) HandleNewCharacter(client, account, packet); break; } case DataOpcodes.InteractWithObject: { var cInstPreId = packet.Data.ReadUInt32(); var clientInst = packet.Data.ReadUInt32(); var unk0 = packet.Data.ReadUInt16(); var unk1 = packet.Data.ReadUInt32(); var unkdata = packet.Data.ReadArrayPrependLengthUInt32(); var objPreId = packet.Data.ReadUInt32(); var objId = packet.Data.ReadUInt32(); // ?? var unk2 = packet.Data.ReadUInt32(); //account.Character.SelectedTarget = ??; Logger.Info("Interacting," + "\nunk0: " + unk0.ToHex() + "\nunk1: " + unk1.ToHex() + "\nunkdata: " + unkdata.ToHex() + "\nobjPreId: " + objPreId.ToHex() + " objId: " + objId.ToHex() + "\nunk2: " + objPreId.ToHex()); break; } case DataOpcodes.CloseGame: { //var unk0 = packet.Data.ReadUInt32(); //var accountId = packet.Data.ReadUInt32(); account.Character.SaveDataToDatabase(Database); break; } case DataOpcodes.SelectDeselect: { var length = packet.Data.Length - 4; /*switch(length) { case PassBlob::SELECT_NPC: { Log.Debug("Receive GA_PassBlob - SELECT_OBJECT - SELECT_NPC\n"); try { uint32 data = packet->data->read<uint32>(); uint32 ClientInst = packet->data->read<uint32>(); uint8 unk0 = packet->data->read<uint8>(); uint32 data2 = packet->data->read<uint32>(); client->charInfo.combat.target = packet->data->read<uint32>(); uint32 unk1 = packet->data->read<uint32>(); uint32 unk2 = packet->data->read<uint32>(); uint32 end = packet->data->read<uint32>(); PacketBuffer aBuffer(500); aBuffer.writeHeader("GameAgent", "GameInterface", gameUnknown1, 0, client->nClientInst, 0, GI_PassBlob); aBuffer.write<uint32>(length); aBuffer.write<uint32>(SELECT_OBJECT); aBuffer.write<uint32>(data); aBuffer.write<uint32>(ClientInst); aBuffer.write<uint8>(unk0); aBuffer.write<uint32>(data2); aBuffer.write<uint32>(client->charInfo.combat.target); aBuffer.write<uint32>(unk1); aBuffer.write<uint32>(unk2); aBuffer.write<uint32>(end); aBuffer.doItAll(client->clientSocket); Log.Debug("Sent GI_PassBlob - SELECT_OBJECT - SELECT_NPC\n"); } catch(char* errMsg) { Log.Error("Error at receiving SelectionDatas @ SELECT_NPC - SelectObjet.cpp\nError Message:\n%s\n", errMsg); } break; } default: { Log.Debug("Receive GA_PassBlob - SELECT_OBJECT - Unknown Length: 0x%08x\n", length); try { PacketBuffer aBuffer(500); aBuffer.writeHeader("GameAgent", "GameInterface", gameUnknown1, 0, client->nClientInst, 0, 0x00); aBuffer.write<uint32>(length); aBuffer.write<uint32>(SELECT_OBJECT); aBuffer.writeArray(packet->data->readArray(length-4), length-4); aBuffer.doItAll(client->clientSocket); Log.Debug("Sent GI_PassBlob - SELECT_OBJECT - Unknown\n"); } catch(char* errMsg) { Log.Error("Error at receiving SelectionDatas @ SELECT_NPC - SelectObjet.cpp\nError Message:\n%s\n", errMsg); } break; } } */ break; } default: { var data = packet.Data.ToArray(); Logger.Info("Unknown data Opcode: " + pbOpcode.ToHex()); break; } } }
private void Handle0Xf98E10B3(NetworkClient client, Account account, ConanPacket packet) { var aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1da); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000008); aBuffer.WriteUInt32(0xffffffff); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1db); aBuffer.Send(client); var data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x91, 0xc8, 0x80, 0x80, 0xe0, 0xca, 0xe4, 0xea, 0x20, 0x12, 0x07, 0x08, 0x00, 0x10, 0x81, 0x80, 0x80, 0x20, 0x12, 0x08, 0x08, 0x08, 0x10, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x12, 0x06, 0x08, 0x17, 0x10, 0xdb, 0xc3, 0x07, 0x12, 0x04, 0x08, 0x2e, 0x10, 0x07, 0x1a, 0x53, 0x0a, 0x14, 0x0d, 0x79, 0x9b, 0xa3, 0x95, 0x15, 0x12, 0xcc, 0xbc, 0xaa, 0x1d, 0x57, 0x16, 0x3c, 0x4d, 0x25, 0x63, 0xa0, 0x9f, 0xa1, 0x12, 0x14, 0x0d, 0x79, 0x9b, 0xa3, 0x95, 0x15, 0x12, 0xcc, 0xbc, 0xaa, 0x1d, 0x57, 0x16, 0x3c, 0x4d, 0x25, 0x63, 0xa0, 0x9f, 0xa1, 0x1a, 0x14, 0x0d, 0x79, 0x9b, 0xa3, 0x95, 0x15, 0x12, 0xcc, 0xbc, 0xaa, 0x1d, 0x57, 0x16, 0x3c, 0x4d, 0x25, 0x63, 0xa0, 0x9f, 0xa1, 0x25, 0x4c, 0xf2, 0x04, 0x00, 0x2d, 0x4c, 0xf2, 0x04, 0x00, 0x38, 0x01, 0x45, 0x4b, 0x59, 0x41, 0x30, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2020); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1dc); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000008); aBuffer.WriteUInt32(0xffffffff); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1dd); aBuffer.Send(client); var data2 = new byte[] { 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x08, 0x92, 0xc8, 0x80, 0x80, 0xe0, 0xca, 0xe4, 0xea, 0x20, 0x12, 0x07, 0x08, 0x00, 0x10, 0x81, 0x80, 0x80, 0x20, 0x12, 0x08, 0x08, 0x08, 0x10, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x12, 0x06, 0x08, 0x17, 0x10, 0xdd, 0xc3, 0x07, 0x12, 0x04, 0x08, 0x2e, 0x10, 0x07, 0x1a, 0x53, 0x0a, 0x14, 0x0d, 0xbc, 0x59, 0x3a, 0x99, 0x15, 0x13, 0x29, 0x69, 0x02, 0x1d, 0xcf, 0x54, 0x5f, 0x7a, 0x25, 0xa9, 0x3d, 0x47, 0x9d, 0x12, 0x14, 0x0d, 0xbc, 0x59, 0x3a, 0x99, 0x15, 0x13, 0x29, 0x69, 0x02, 0x1d, 0xcf, 0x54, 0x5f, 0x7a, 0x25, 0xa9, 0x3d, 0x47, 0x9d, 0x1a, 0x14, 0x0d, 0xbc, 0x59, 0x3a, 0x99, 0x15, 0x13, 0x29, 0x69, 0x02, 0x1d, 0xcf, 0x54, 0x5f, 0x7a, 0x25, 0xa9, 0x3d, 0x47, 0x9d, 0x25, 0xe3, 0xf1, 0x04, 0x00, 0x2d, 0xe3, 0xf1, 0x04, 0x00, 0x38, 0x01, 0x45, 0x4f, 0x47, 0x53, 0x4c, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2020); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data2); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1de); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000008); aBuffer.WriteUInt32(0xffffffff); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1df); aBuffer.Send(client); var data3 = new byte[] { 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7d, 0x08, 0x93, 0xc8, 0x80, 0x80, 0xe0, 0xca, 0xe4, 0xea, 0x20, 0x12, 0x04, 0x08, 0x00, 0x10, 0x01, 0x12, 0x08, 0x08, 0x08, 0x10, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x12, 0x06, 0x08, 0x17, 0x10, 0xdf, 0xc3, 0x07, 0x12, 0x04, 0x08, 0x2e, 0x10, 0x07, 0x1a, 0x53, 0x0a, 0x14, 0x0d, 0x99, 0xbf, 0x60, 0xdd, 0x15, 0xf6, 0x73, 0x09, 0x76, 0x1d, 0xca, 0xed, 0x49, 0x79, 0x25, 0xd2, 0xc7, 0xed, 0x8d, 0x12, 0x14, 0x0d, 0x99, 0xbf, 0x60, 0xdd, 0x15, 0xf6, 0x73, 0x09, 0x76, 0x1d, 0xca, 0xed, 0x49, 0x79, 0x25, 0xd2, 0xc7, 0xed, 0x8d, 0x1a, 0x14, 0x0d, 0x99, 0xbf, 0x60, 0xdd, 0x15, 0xf6, 0x73, 0x09, 0x76, 0x1d, 0xca, 0xed, 0x49, 0x79, 0x25, 0xd2, 0xc7, 0xed, 0x8d, 0x25, 0x15, 0x4b, 0x33, 0x00, 0x2d, 0x15, 0x4b, 0x33, 0x00, 0x38, 0x01, 0x45, 0x35, 0x50, 0x55, 0x43, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2020); aBuffer.WriteUInt32(0x00000068); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data3); aBuffer.Send(client); var data4 = new byte[] { 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x9b, 0xc8, 0x02, 0x18, 0x01, 0x28, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0xf2, 0x4c, 0x00, 0x04, 0xf2, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30, 0x41, 0x59, 0x4b, 0x95, 0xa3, 0x9b, 0x79, 0xaa, 0xbc, 0xcc, 0x12, 0x4d, 0x3c, 0x16, 0x57, 0xa1, 0x9f, 0xa0, 0x63, 0x95, 0xa3, 0x9b, 0x79, 0xaa, 0xbc, 0xcc, 0x12, 0x4d, 0x3c, 0x16, 0x57, 0xa1, 0x9f, 0xa0, 0x63, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2000); aBuffer.WriteUInt32(0x00000078); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data4); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000065); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0x00000010); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1e1); aBuffer.Send(client); var data5 = new byte[] { 0x00, 0x10, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x9b, 0xc8, 0x02, 0x18, 0x02, 0x28, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0xf1, 0xe3, 0x00, 0x04, 0xf1, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4c, 0x53, 0x47, 0x4f, 0x99, 0x3a, 0x59, 0xbc, 0x02, 0x69, 0x29, 0x13, 0x7a, 0x5f, 0x54, 0xcf, 0x9d, 0x47, 0x3d, 0xa9, 0x99, 0x3a, 0x59, 0xbc, 0x02, 0x69, 0x29, 0x13, 0x7a, 0x5f, 0x54, 0xcf, 0x9d, 0x47, 0x3d, 0xa9, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2000); aBuffer.WriteUInt32(0x00000078); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data5); aBuffer.Send(client); var data6 = new byte[] { 0x00, 0x10, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x9b, 0xc8, 0x02, 0x18, 0x03, 0x28, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x33, 0x4b, 0x15, 0x00, 0x33, 0x4b, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0x55, 0x50, 0x35, 0xdd, 0x60, 0xbf, 0x99, 0x76, 0x09, 0x73, 0xf6, 0x79, 0x49, 0xed, 0xca, 0x8d, 0xed, 0xc7, 0xd2, 0xdd, 0x60, 0xbf, 0x99, 0x76, 0x09, 0x73, 0xf6, 0x79, 0x49, 0xed, 0xca, 0x8d, 0xed, 0xc7, 0xd2, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2000); aBuffer.WriteUInt32(0x00000078); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data6); aBuffer.Send(client); var data7 = new byte[] { 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x9b, 0xc8, 0x02, 0x18, 0x02, 0x28, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0xf1, 0xe3, 0x00, 0x04, 0xf1, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4c, 0x53, 0x47, 0x4f, 0x99, 0x3a, 0x59, 0xbc, 0x02, 0x69, 0x29, 0x13, 0x7a, 0x5f, 0x54, 0xcf, 0x9d, 0x47, 0x3d, 0xa9, 0x99, 0x3a, 0x59, 0xbc, 0x02, 0x69, 0x29, 0x13, 0x7a, 0x5f, 0x54, 0xcf, 0x9d, 0x47, 0x3d, 0xa9, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2000); aBuffer.WriteUInt32(0x00000078); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data7); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000065); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0x00000005); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1e3); aBuffer.Send(client); var data8 = new byte[] { 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x9b, 0xc8, 0x02, 0x18, 0x03, 0x28, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x33, 0x4b, 0x15, 0x00, 0x33, 0x4b, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0x55, 0x50, 0x35, 0xdd, 0x60, 0xbf, 0x99, 0x76, 0x09, 0x73, 0xf6, 0x79, 0x49, 0xed, 0xca, 0x8d, 0xed, 0xc7, 0xd2, 0xdd, 0x60, 0xbf, 0x99, 0x76, 0x09, 0x73, 0xf6, 0x79, 0x49, 0xed, 0xca, 0x8d, 0xed, 0xc7, 0xd2, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2000); aBuffer.WriteUInt32(0x00000078); aBuffer.WriteUInt32(0x642cd3d6); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data8); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201c); aBuffer.WriteUInt32(0x00000065); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0x00000017); aBuffer.WriteUInt32(0x0001e1e5); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2000); aBuffer.WriteUInt32(0x00000015); aBuffer.WriteUInt32(0xf98e10b3); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteByte(0); aBuffer.WriteUInt32(0x00000360); aBuffer.WriteUInt32(0x00000003); aBuffer.Send(client); var data9 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data9); aBuffer.Send(client); var data10 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data10); aBuffer.Send(client); var data11 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data11); aBuffer.Send(client); var data12 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data12); aBuffer.Send(client); var data13 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data13); aBuffer.Send(client); var data14 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data14); aBuffer.Send(client); var data15 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data15); aBuffer.Send(client); var data16 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data16); aBuffer.Send(client); var data17 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data17); aBuffer.Send(client); var data18 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data18); aBuffer.Send(client); var data19 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data19); aBuffer.Send(client); var data20 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data20); aBuffer.Send(client); var data21 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data21); aBuffer.Send(client); var data22 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data22); aBuffer.Send(client); var data23 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data23); aBuffer.Send(client); var data24 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data24); aBuffer.Send(client); var data25 = new byte[] { 0x00, 0x00, 0x00, 0x6c, 0x00, 0x0b, 0xbc, 0x46, 0x00, 0x0b, 0xbc, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4b, 0x4d, 0x39, 0x36, 0xc0, 0xeb, 0xa3, 0x41, 0x80, 0x61, 0x06, 0xf3, 0x12, 0xb8, 0x35, 0x3e, 0xb3, 0xc3, 0x96, 0x42, 0xc0, 0xeb, 0xa3, 0x41, 0x80, 0x61, 0x06, 0xf3, 0x12, 0xb8, 0x35, 0x3e, 0xb3, 0xc3, 0x96, 0x42, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2050); aBuffer.WriteArray(data25); aBuffer.Send(client); var data26 = new byte[] { 0x00, 0x00, 0x00, 0x6d, 0x00, 0x0b, 0xbc, 0x47, 0x00, 0x0b, 0xbc, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x50, 0x44, 0x42, 0x31, 0x64, 0xa7, 0x64, 0xb9, 0x96, 0xb5, 0xca, 0xb8, 0xe4, 0x76, 0x7c, 0x76, 0xa7, 0x0d, 0xe4, 0xe7, 0x64, 0xa7, 0x64, 0xb9, 0x96, 0xb5, 0xca, 0xb8, 0xe4, 0x76, 0x7c, 0x76, 0xa7, 0x0d, 0xe4, 0xe7, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2050); aBuffer.WriteArray(data26); aBuffer.Send(client); var data27 = new byte[] { 0x00, 0x00, 0x00, 0x70, 0x00, 0x0b, 0xbc, 0x4b, 0x00, 0x0b, 0xbc, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x49, 0x31, 0x4b, 0x4b, 0xcd, 0x42, 0x9c, 0xfd, 0x62, 0xf3, 0x3e, 0x51, 0x4d, 0x49, 0x8e, 0x24, 0xb0, 0x4f, 0x6c, 0xcb, 0xcd, 0x42, 0x9c, 0xfd, 0x62, 0xf3, 0x3e, 0x51, 0x4d, 0x49, 0x8e, 0x24, 0xb0, 0x4f, 0x6c, 0xcb, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2050); aBuffer.WriteArray(data27); aBuffer.Send(client); var data28 = new byte[] { 0x00, 0x00, 0x04, 0xe2, 0x00, 0x32, 0x9b, 0x83, 0x00, 0x32, 0x9b, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4c, 0x50, 0x4d, 0x58, 0x85, 0x42, 0xef, 0xf0, 0x2c, 0xae, 0x85, 0x4a, 0xc7, 0x0d, 0x86, 0xcb, 0xeb, 0xf0, 0x6e, 0xcb, 0x85, 0x42, 0xef, 0xf0, 0x2c, 0xae, 0x85, 0x4a, 0xc7, 0x0d, 0x86, 0xcb, 0xeb, 0xf0, 0x6e, 0xcb, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2050); aBuffer.WriteArray(data28); aBuffer.Send(client); var data29 = new byte[] { 0x00, 0x00, 0x01, 0x03, 0x00, 0x38, 0x15, 0xc0, 0x00, 0x38, 0x15, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4c, 0x35, 0x56, 0x33, 0x64, 0x01, 0x8d, 0x59, 0x5b, 0xb1, 0x00, 0x9d, 0x52, 0x74, 0xc5, 0x57, 0x6d, 0x47, 0x45, 0xd4, 0x64, 0x01, 0x8d, 0x59, 0x5b, 0xb1, 0x00, 0x9d, 0x52, 0x74, 0xc5, 0x57, 0x6d, 0x47, 0x45, 0xd4, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2050); aBuffer.WriteArray(data29); aBuffer.Send(client); var data30 = new byte[] { 0x00, 0x00, 0x04, 0xe4, 0x00, 0x39, 0xe7, 0x83, 0x00, 0x39, 0xe7, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x37, 0x30, 0x39, 0x4c, 0x14, 0xbd, 0x51, 0x26, 0x54, 0x6d, 0xd8, 0x6b, 0x7c, 0x60, 0xbd, 0x85, 0x1f, 0x3f, 0x36, 0xc6, 0x14, 0xbd, 0x51, 0x26, 0x54, 0x6d, 0xd8, 0x6b, 0x7c, 0x60, 0xbd, 0x85, 0x1f, 0x3f, 0x36, 0xc6, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2050); aBuffer.WriteArray(data30); aBuffer.Send(client); var data31 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data31); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416544); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416541); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416542); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416548); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x004165f1); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x004165ef); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416546); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416545); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x004165f0); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416547); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416543); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000012); aBuffer.WriteUInt32(0xa8bbeb7f); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt16(0x0001); aBuffer.WriteUInt32(0x00416549); aBuffer.Send(client); var data32 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data32); aBuffer.Send(client); var data33 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe5, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data33); aBuffer.Send(client); var data34 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdb, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data34); aBuffer.Send(client); var data35 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdd, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data35); aBuffer.Send(client); var data36 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x03, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data36); aBuffer.Send(client); var data37 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x04, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data37); aBuffer.Send(client); var data38 = new byte[] { 0x00, 0x00, 0x04, 0xe6, 0x00, 0x4b, 0x3e, 0xc8, 0x00, 0x4b, 0x3e, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4c, 0x31, 0x44, 0x53, 0xb3, 0xae, 0xe6, 0xaa, 0x50, 0x9c, 0xcd, 0x1e, 0xb4, 0xe9, 0xf4, 0xb4, 0x7e, 0xcf, 0xe7, 0xd2, 0xb3, 0xae, 0xe6, 0xaa, 0x50, 0x9c, 0xcd, 0x1e, 0xb4, 0xe9, 0xf4, 0xb4, 0x7e, 0xcf, 0xe7, 0xd2, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0xb2, 0x90, 0x80, 0x5c, 0x29, 0xe6, 0x27, 0xca, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x2050); aBuffer.WriteArray(data38); aBuffer.Send(client); var data39 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0e, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002d); aBuffer.WriteUInt32(0x6b6fd368); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data39); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000011); aBuffer.WriteUInt32(0x40749b8a); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteByte(1); aBuffer.WriteUInt32(0x0000003d); aBuffer.Send(client); var data40 = new byte[] { 0x00, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x00, 0xcf, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000003a); aBuffer.WriteUInt32(0xf508f4c1); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(data40); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender4, Receiver4, null, 0x201b); aBuffer.Send(client); aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x0000002b); aBuffer.WriteUInt32(0x10d27bc0); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteByte(0x01); aBuffer.WriteUInt32(0x62); aBuffer.WriteUInt32(0x0000c79c); aBuffer.WriteUInt32(0x00000fab); //map aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0); aBuffer.WriteUInt32(0); aBuffer.WriteByte(0); aBuffer.Send(client); }
public static void PacketDataToFile(ConanPacket packet, string path) { File.WriteAllBytes(path, packet.Data.ToArray()); }
public static string PacketToString(ConanPacket packet) { var var = string.Format("UInt32\tlength\t\t=\t{0}\r\n", packet.Length) + string.Format("UInt32\tcrc32\t\t=\t0x{0:X4}\r\n", packet.Crc32) + string.Format("UInt32\theadersize\t=\t{0}\r\n", packet.Headersize) + string.Format("byte\tsender\t\t=\t0x{0:X}\r\n", packet.Sender) + string.Format("byte\tslength\t\t=\t{0}\r\n", packet.SenderInt.Length) + string.Format("byte[]\tsenderInt\t=\t{0}\r\n", packet.SenderInt.ToHex()) + string.Format("byte\treceiver\t=\t0x{0:X}\r\n", packet.Receiver) + string.Format("byte\trlength\t\t=\t{0}\r\n", packet.ReceiverInt.Length) + string.Format("byte[]\treceiverInt\t=\t{0}\r\n", packet.ReceiverInt.ToHex()) + string.Format("UInt32\topcode\t\t=\t0x{0:X8}\r\n", packet.Opcode) + string.Format("UInt32\thdrDataLen\t=\t{0}\r\n", packet.HeaderData?.Length) + string.Format("byte[]\theaderData\t=\t{0}\r\n", packet.HeaderData != null ? packet.HeaderData.ToArray().ToHex() : "") + string.Format("UInt32\tdataLength\t=\t{0}\r\n", packet.Data?.Length) + string.Format("byte[]\tdata\t\t=\t{0}\r\n", packet.Data != null ? packet.Data.ToArray().ToHex() : ""); return var; }
private void HandleNewCharacter(NetworkClient client, Account account, ConanPacket packet) { var blobData7 = new byte[] { 0x00, 0x00, 0x00, 0x89, 0xf5, 0x08, 0xf4, 0xc1, 0x00, 0x00, 0xc3, 0x50 }; var blobData71 = new byte[] { 0x00, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x00, 0xd0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x39, 0xbf, 0x93 }; var aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData7); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData71); aBuffer.WriteString( "MaleTemplate=50000:10232;FemaleTemplate=50000:10233;StygianSlaver=50000:10234"); aBuffer.WriteByte(0); aBuffer.WriteUInt32(0); aBuffer.Send(client); var blobData81 = new byte[] { 0x00, 0x00, 0x00, 0x07, 0xe2, 0x00, 0x00, 0xd0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0x9d, 0xd1, 0x00, 0x4d, 0x4d, 0x61, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30, 0x3a, 0x31, 0x30, 0x32, 0x33, 0x32, 0x3b, 0x46, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30, 0x3a, 0x31, 0x30, 0x32, 0x33, 0x33, 0x3b, 0x53, 0x74, 0x79, 0x67, 0x69, 0x61, 0x6e, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x72, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30, 0x3a, 0x31, 0x30, 0x32, 0x33, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteUInt32(0x00000089); aBuffer.WriteUInt32(0xf508f4c1); aBuffer.WriteUInt32(0x0000c350); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData81); aBuffer.Send(client); var blobData4 = new byte[] { 0x00, 0x00, 0x00, 0x15, 0xf9, 0x8e, 0x10, 0xb3, 0x00, 0x00, 0xc3, 0x50 }; var blobData41 = new byte[] { 0x00, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x00, 0x02 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData4); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData41); aBuffer.Send(client); var blobData5 = new byte[] { 0x00, 0x00, 0x00, 0x4c, 0x6b, 0x87, 0xe3, 0x16, 0x00, 0x00, 0xc3, 0x50 }; var blobData51 = new byte[] { 0x00, 0x00, 0x00, 0x0b, 0x90, 0x00, 0x00, 0x00, 0xc3, 0x50 }; var blobData52 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x90, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3c, 0x4b, 0xa3 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData5); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData51); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData52); aBuffer.Send(client); var blobData6 = new byte[] { 0x00, 0x00, 0x00, 0x11, 0x40, 0x74, 0x9b, 0x8a, 0x00, 0x00, 0xc3, 0x50 }; var blobData61 = new byte[] { 0x01, 0x00, 0x00, 0x00, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData6); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData61); aBuffer.Send(client); var blobData9 = new byte[] { 0x00, 0x00, 0x03, 0x06, 0xa3, 0x6d, 0x3b, 0x74, 0x00, 0x00, 0xc3, 0x50 }; var blobData91 = new byte[] { 0x00, 0x00, 0x00, 0x02, 0xf5, 0x08, 0x05, 0x10, 0x07, 0x18, 0x00, 0x22, 0xb9, 0x01, 0x3c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3d, 0x22, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x72, 0x73, 0x6b, 0x69, 0x70, 0x28, 0x37, 0x32, 0x29, 0x7c, 0x6f, 0x6e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x28, 0x31, 0x29, 0x7c, 0x4e, 0x45, 0x57, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x20, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x79, 0x20, 0x28, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x73, 0x69, 0x64, 0x65, 0x29, 0x22, 0x20, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x3d, 0x22, 0x35, 0x30, 0x30, 0x32, 0x33, 0x22, 0x20, 0x6b, 0x65, 0x79, 0x3d, 0x22, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x42, 0x5d, 0x53, 0x5a, 0x2e, 0x41, 0x47, 0x52, 0x47, 0x72, 0x41, 0x79, 0x4f, 0x47, 0x65, 0x2a, 0x42, 0x47, 0x2d, 0x22, 0x20, 0x6b, 0x6e, 0x75, 0x62, 0x6f, 0x74, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x20, 0x3e, 0x3c, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x3e, 0x2a, 0xa6, 0x04, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x37, 0x39, 0x33, 0x37, 0x31, 0x33, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x37, 0x39, 0x33, 0x37, 0x31, 0x34, 0x3b, 0x31, 0x30, 0x37, 0x30, 0x30, 0x30, 0x33, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x39, 0x37, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x31, 0x35, 0x36, 0x32, 0x31, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x32, 0x33, 0x39, 0x34, 0x34, 0x38, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x35, 0x36, 0x35, 0x39, 0x31, 0x33, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x37, 0x32, 0x38, 0x35, 0x33, 0x33, 0x3b, 0x31, 0x30, 0x36, 0x30, 0x36, 0x36, 0x38, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x35, 0x39, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x36, 0x30, 0x36, 0x36, 0x37, 0x3a, 0x31, 0x36, 0x37, 0x33, 0x36, 0x38, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x34, 0x35, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x31, 0x38, 0x30, 0x30, 0x32, 0x35, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x32, 0x31, 0x32, 0x38, 0x35, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x36, 0x36, 0x33, 0x31, 0x39, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x30, 0x38, 0x39, 0x32, 0x33, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x30, 0x38, 0x32, 0x36, 0x36, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x32, 0x32, 0x36, 0x38, 0x39, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x36, 0x36, 0x33, 0x31, 0x39, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x36, 0x35, 0x36, 0x31, 0x30, 0x39, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x33, 0x30, 0x3a, 0x32, 0x31, 0x30, 0x30, 0x36, 0x39, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x31, 0x3a, 0x32, 0x31, 0x30, 0x30, 0x37, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x35, 0x32, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x35, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x34, 0x3a, 0x33, 0x30, 0x37, 0x35, 0x34, 0x35, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x33, 0x30, 0x30, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x34, 0x39, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x36, 0x36, 0x36, 0x31, 0x31, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x31, 0x33, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x31, 0x35, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x35, 0x30, 0x36, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x30, 0x30, 0x30, 0x35, 0x38, 0x3a, 0x34, 0x30, 0x30, 0x30, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x31, 0x31, 0x30, 0x30, 0x30, 0x36, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x32, 0x36, 0x32, 0x32, 0x34, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x35, 0x36, 0x38, 0x38, 0x30, 0x36, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x33, 0x34, 0x32, 0x30, 0x33, 0x33, 0x31, 0x3b, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x37, 0x3a, 0x31, 0x36, 0x37, 0x31, 0x38, 0x33, 0x32, 0x08, 0x08, 0x95, 0xb1, 0x27, 0x10, 0x99, 0xf7, 0x31 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData9); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData91); aBuffer.Send(client); var blobData10 = new byte[] { 0x00, 0x00, 0x00, 0x2b, 0xa3, 0x6d, 0x3b, 0x74, 0x00, 0x00, 0xc3, 0x50 }; var blobData101 = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x05, 0x10, 0x02, 0x18, 0x00, 0x22, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x72, 0x53, 0x6b, 0x69, 0x70, 0x2a, 0x00, 0x32, 0x04, 0x08, 0x00, 0x10, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData10); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteArray(blobData101); aBuffer.Send(client); var blobData11 = new byte[] { 0x00, 0x00, 0x00, 0x28, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf8, 0x00, 0x00, 0x10, 0x2a, 0x68, 0x61, 0x69, 0x72, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x32, 0x30, 0x37, 0x39, 0x32, 0x30, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData11); aBuffer.Send(client); var blobData12 = new byte[] { 0x00, 0x00, 0x00, 0x28, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf9, 0x00, 0x00, 0x10, 0x2a, 0x68, 0x61, 0x69, 0x72, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x32, 0x30, 0x33, 0x36, 0x36, 0x36, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData12); aBuffer.Send(client); var blobData13 = new byte[] { 0x00, 0x00, 0x00, 0x20, 0x64, 0x2c, 0xd3, 0xd6, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf8, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x08, 0xd3, 0x9e, 0x05, 0x18, 0x02, 0x28, 0x18, 0x30, 0x00 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData13); aBuffer.Send(client); var blobData14 = new byte[] { 0x00, 0x00, 0x00, 0x29, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50 }; var blobData141 = new byte[] { //0x00, //0x00, 0x11, //0x2a, 0x74, 0x65, 0x78, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x31, 0x38, 0x33, 0x38, 0x37, 0x35, 0x3f, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData14); aBuffer.WriteUInt32(account.ClientInstance); aBuffer.WriteByte(0); aBuffer.WriteString("*texscript_183875"); aBuffer.WriteArray(blobData141); aBuffer.Send(client); var blobData15 = new byte[] { 0x00, 0x00, 0x00, 0x29, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf9, 0x00, 0x00, 0x11, 0x2a, 0x74, 0x65, 0x78, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x31, 0x38, 0x33, 0x38, 0x37, 0x35, 0x3f, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData15); aBuffer.Send(client); var blobData16 = new byte[] { 0x00, 0x00, 0x00, 0x29, 0xba, 0xdf, 0x5a, 0x4b, 0x00, 0x00, 0xc3, 0x50, 0x00, 0x00, 0x27, 0xf8, 0x00, 0x00, 0x11, 0x2a, 0x74, 0x65, 0x78, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x31, 0x38, 0x33, 0x38, 0x37, 0x35, 0x3f, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02 }; aBuffer = new PacketStream(); aBuffer.WriteHeader(Sender2, Receiver2, null, 0x2000); aBuffer.WriteArray(blobData16); aBuffer.Send(client); }
private void Handle(ConanPacket conanPacket, List<ConanPacket> followingPackets) { Console.WriteLine(); }