private void toolStripButton1_Click(object sender, EventArgs e) { try { string s = richTextBox1.Text.Trim(); while (s.Contains(" ")) { s = s.Replace(" ", ""); } if ((s.Length % 2) != 0) { return; } byte[] data = ToBuff(s); data = Helper.Decrypt("CD&ML", data); MemoryStream m = new MemoryStream(); m.Write(data, 1, data.Length - 1); data = Helper.Decompress(m.ToArray()); StringBuilder sb = new StringBuilder(); foreach (byte b in data) { sb.Append(b.ToString("X2")); } richTextBox2.Text = sb.ToString(); } catch { richTextBox2.Text = "ERROR"; } }
public QPacket(byte[] data) { MemoryStream m = new MemoryStream(data); m_oSourceVPort = new VPort(Helper.ReadU8(m)); m_oDestinationVPort = new VPort(Helper.ReadU8(m)); m_byPacketTypeFlags = Helper.ReadU8(m); type = (PACKETTYPE)(m_byPacketTypeFlags & 0x7); flags = new List <PACKETFLAG>(); ExtractFlags(); m_bySessionID = Helper.ReadU8(m); m_uiSignature = Helper.ReadU32(m); uiSeqId = Helper.ReadU16(m); if (type == PACKETTYPE.SYN || type == PACKETTYPE.CONNECT) { m_uiConnectionSignature = Helper.ReadU32(m); } if (type == PACKETTYPE.DATA) { m_byPartNumber = Helper.ReadU8(m); } if (flags.Contains(PACKETFLAG.FLAG_HAS_SIZE)) { payloadSize = Helper.ReadU16(m); } MemoryStream pl = new MemoryStream(); for (int i = (int)m.Position; i < m.Length - 1; i++) { pl.WriteByte(Helper.ReadU8(m)); } payload = pl.ToArray(); payloadSize = (ushort)payload.Length; if (payload != null && payload.Length > 0) { payload = Helper.Decrypt(Global.keyDATA, payload); usesCompression = payload[0] != 0; if (usesCompression) { MemoryStream m2 = new MemoryStream(); m2.Write(payload, 1, payload.Length - 1); payload = Helper.Decompress(m2.ToArray()); } else { MemoryStream m2 = new MemoryStream(); m2.Write(payload, 1, payload.Length - 1); payload = m2.ToArray(); } payloadSize = (ushort)payload.Length; } checkSum = Helper.ReadU8(m); }