Ejemplo n.º 1
0
 public void RefreshProcessList()
 {
     RunningProcessList.BeginUpdate();
     RunningProcessList.Items.Clear();
     foreach (var pi in Program.RunningProcesses)
     {
         RunningProcessList.Items.Add(pi);
     }
     RunningProcessList.EndUpdate();
 }
Ejemplo n.º 2
0
        private void RunningProcessList_MouseDown(object sender, MouseEventArgs e)
        {
            var index = RunningProcessList.IndexFromPoint(e.X, e.Y);

            if (index == ListBox.NoMatches)
            {
                return;
            }

            RunningProcessList.SelectedIndex = index;

            if (e.Button == MouseButtons.Right)
            {
                ProcessMenu.Tag = RunningProcessList.Items[index];
                ProcessMenu.Show(RunningProcessList, new Point(e.X, e.Y));
            }
        }
Ejemplo n.º 3
0
        private async Task LoadDataTask()
        {
            RunningProcessList.Clear();

            int o = 0;

            while (true)
            {
                string reqUri         = "index.php?action=gate&a2=run&_o=" + o;
                string responseString = await SendRequest.GET(reqUri);

                HtmlDocument doc = new HtmlDocument();
                doc.LoadHtml(responseString);

                HtmlNode node = doc.DocumentNode.SelectSingleNode(@"//form[@name='frm_files']/table");

                HtmlNodeCollection childs           = node.ChildNodes;
                string[]           stringSeparators = new string[] { "'" };

                int count = 0;

                foreach (HtmlNode n in childs)
                {
                    if (n.Name.Equals("script") && n.InnerText.Contains("document.write"))
                    {
                        string   text   = n.InnerText;
                        string[] splits = text.Split(stringSeparators, StringSplitOptions.None);

                        string encoded = splits[1];
                        string decoded = WebUtility.UrlDecode(encoded);

                        AddProcess(decoded);

                        count++;
                    }
                }

                if (count == 0)
                {
                    break;
                }

                o += 50;
            }
        }
Ejemplo n.º 4
0
        private void AddProcess(string decoded)
        {
            try
            {
                RunningProcessModel p = new RunningProcessModel();

                HtmlDocument doc = new HtmlDocument();
                doc.LoadHtml(decoded);

                HtmlNode node = doc.DocumentNode.SelectSingleNode(@"//tr/td[@class='snl']");
                p.Id = node.InnerText;

                if (!string.IsNullOrEmpty(p.Id))
                {
                    p.Kill = "index.php?action=gate&a2=run&k_pid=" + p.Id;
                }

                node   = doc.DocumentNode.SelectSingleNode(@"//tr/td[@class='p1']");
                p.Type = node.InnerText;

                node      = doc.DocumentNode.SelectSingleNode(@"//tr/td[@class='sm2']");
                p.Version = Convert.ToDouble(node.InnerText);

                HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes(@"//tr/td[@class='sm']");
                p.Details = nodes[0].InnerText;
                p.Cpu     = Convert.ToInt64(nodes[1].InnerText);
                p.Ram     = Convert.ToInt64(nodes[2].InnerText);
                p.Bw      = Convert.ToDouble(nodes[3].InnerText);

                //Time
                string[] spliter = { "," };
                string[] splits  = p.Details.Split(spliter, StringSplitOptions.None);
                if (splits.Length > 1)
                {
                    p.Time = splits[1];
                }

                //Analysis details
                doc.LoadHtml(nodes[0].InnerHtml);

                node = doc.DocumentNode.SelectSingleNode(@"//span[@class='green']");
                if (node != null)
                {
                    p.Ip = node.InnerText;
                }

                nodes = doc.DocumentNode.SelectNodes(@"//a");
                if (nodes != null)
                {
                    if (nodes.Count >= 1)
                    {
                        p.Complete = nodes[0].Attributes[0].Value;
                        if (nodes.Count >= 3)
                        {
                            p.Connect = nodes[1].Attributes[0].Value;
                            p.Bounce  = nodes[2].Attributes[0].Value;
                        }
                    }
                }

                RunningProcessList.Add(p);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }