Beispiel #1
0
        public void OpenFile(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog {
                Filter = "*.hex|*.hex"
            };

            if (openFileDialog.ShowDialog() == false)
            {
                return;
            }

            pp.Init();
            pp.OpenFileMode = true;

            PacketsList.Items.Clear();

            using (FileStream fileStream = File.OpenRead(openFileDialog.FileName))
            {
                using (TextReader stream = new StreamReader(fileStream))
                {
                    while (true)
                    {
                        string line = stream.ReadLine();
                        if (line == null)
                        {
                            break;
                        }
                        if (line.Length == 0)
                        {
                            continue;
                        }
                        if (pp.State == -1)
                        {
                            pp.State = 0;
                            continue;
                        }

                        bool isServer = line[0] == ' ';

                        string hex  = line.Substring(isServer ? 14 : 10, 49).Replace(" ", "");
                        byte[] data = hex.ToBytes();

                        if (isServer)
                        {
                            pp.AppendServerData(data);
                            // ReSharper disable CSharpWarnings::CS0642
                            while (pp.ProcessServerData())
                            {
                                ;
                            }
                            // ReSharper restore CSharpWarnings::CS0642
                        }
                        else
                        {
                            pp.AppendClientData(data);
                            // ReSharper disable CSharpWarnings::CS0642
                            while (pp.ProcessClientData())
                            {
                                ;
                            }
                            // ReSharper restore CSharpWarnings::CS0642
                        }
                    }
                }
            }

            SetText("Loaded " + pp.Packets.Count + " packets...");
        }