MalwareSourceCode/MSIL/Trojan-Dropper/Win32/I/Trojan-Dropper.Win32.Injector.elwj-8012f8d9cbc27bdc5242e812bac1932349108916abac095e249196a1ff3b491d/_0003 .cs

201 lines
15 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type:  
// Assembly: crypted, Version=4.9.4.5, Culture=neutral, PublicKeyToken=null
// MVID: 39ED6F8C-EF75-4E88-8706-EBD78B0ECCC1
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00002-msil\Trojan-Dropper.Win32.Injector.elwj-8012f8d9cbc27bdc5242e812bac1932349108916abac095e249196a1ff3b491d.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.\u000E\u2002\u2005\u2008\u2005\u2005\u2001\u2000\u2000\u2005\u2000\u2005\u2008\u2002\u2003\u2000\u2007\u200A \u0002 = new \u0003\u2000.\u000E\u2002\u2005\u2008\u2005\u2005\u2001\u2000\u2000\u2005\u2000\u2005\u2008\u2002\u2003\u2000\u2007\u200A();
[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.\u0006\u2004\u2001\u2007\u2006\u2000\u2009\u2001\u2002\u2008\u2004\u2005\u2000\u2006\u2008\u2002\u2004\u2003\u200A\u2005\u2007\u2008\u2002\u2004\u2005.\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)) ^ 1525862767551476267L;
\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 \u000E\u2002\u2005\u2008\u2005\u2005\u2001\u2000\u2000\u2005\u2000\u2005\u2008\u2002\u2003\u2000\u2007\u200A
{
private int \u0002;
private int \u0003;
internal \u000E\u2002\u2005\u2008\u2005\u2005\u2001\u2000\u2000\u2005\u2000\u2005\u2008\u2002\u2003\u2000\u2007\u200A() => this.\u0002(0L);
[MethodImpl(MethodImplOptions.NoInlining)]
internal long \u0002()
{
if ((object) Assembly.GetCallingAssembly() != (object) typeof (\u0003\u2000.\u000E\u2002\u2005\u2008\u2005\u2005\u2001\u2000\u2000\u2005\u2000\u2005\u2008\u2002\u2003\u2000\u2007\u200A).Assembly || !\u0003\u2000.\u0002())
return 2918384;
int[] numArray = new int[4]
{
0,
0,
0,
-~~--~-~~-1220623919
};
numArray[1] = -~~--~~-~-~-1428533924;
numArray[2] = ~-~--~-~~-~-1778866052;
numArray[0] = -~-~~--~~-1251990702;
int num1 = this.\u0002;
int num2 = this.\u0003;
int num3 = -~~-~-~--~~1640531525;
int num4 = -~~--~-~~957401313;
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.\u000E\u2002\u2005\u2008\u2005\u2005\u2001\u2000\u2000\u2005\u2000\u2005\u2008\u2002\u2003\u2000\u2007\u200A).Assembly || !\u0003\u2000.\u0002())
return;
int[] numArray = new int[4]
{
0,
-~-~-~~-~-1428533921,
0,
0
};
numArray[0] = -~-~-~~--~~-1251990701;
numArray[2] = -~~-~-~-~-~-1778866054;
numArray[3] = -~-~~-~--~~-1220623920;
int num1 = -~~-~--~~-~1640531525;
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 \u000E\u2000\u2008\u2008\u2008\u2005\u2007\u200A\u2006\u200A\u2003\u2004\u2000\u2004\u2006\u2009\u200A\u2003\u2007\u2008\u2009\u200A\u2001\u2006
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static int \u0002() => \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0003(\u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0003(\u0003\u2000.\u0002\u2004\u2002\u2007\u2004\u2003\u2006\u2006\u2004\u2002\u2009\u2009\u200A\u2003\u2007\u2003\u2009\u2000\u2008\u2000\u2003\u2004.\u0002(), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2000\u2008\u2008\u2008\u2005\u2007\u200A\u2006\u200A\u2003\u2004\u2000\u2004\u2006\u2009\u200A\u2003\u2007\u2008\u2009\u200A\u2001\u2006)), \u0003\u2000.\u0005\u2001\u2004\u2003\u2004\u2003\u2003\u2000\u2006\u2003\u200A\u2009\u2005\u2007\u2007\u2006\u2005.\u0002())), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2005\u2007\u2009\u2005\u2001\u2003\u2008\u2001\u2003\u2007\u2006\u2005\u2001\u2009\u2005\u2003\u2006\u2005\u2007\u200A\u2001\u2009\u2006\u2002\u200A\u2000)));
}
private sealed class \u0005\u2001\u2004\u2003\u2004\u2003\u2003\u2000\u2006\u2003\u200A\u2009\u2005\u2007\u2007\u2006\u2005
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static int \u0002() => \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2004\u2002\u2007\u2004\u2003\u2006\u2006\u2004\u2002\u2009\u2009\u200A\u2003\u2007\u2003\u2009\u2000\u2008\u2000\u2003\u2004)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u000F\u2008\u200A\u2009\u2007\u2007\u200A\u200A\u2005\u2009)) ^ \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2001\u2004\u2003\u2004\u2003\u2003\u2000\u2006\u2003\u200A\u2009\u2005\u2007\u2007\u2006\u2005)), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2005\u2007\u2009\u2005\u2001\u2003\u2008\u2001\u2003\u2007\u2006\u2005\u2001\u2009\u2005\u2003\u2006\u2005\u2007\u200A\u2001\u2009\u2006\u2002\u200A\u2000)), \u0003\u2000.\u000F\u2008\u200A\u2009\u2007\u2007\u200A\u200A\u2005\u2009.\u0002())));
}
private static class \u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009
{
internal static int \u0002(int _param0, int _param1) => _param0 ^ _param1 - -~-~-~~-~-~-1936552128;
internal static int \u0003(int _param0, int _param1) => _param0 - -~~-~-~--~~1725228222 ^ _param1 + -~-~-~~--~~99866311;
internal static int \u0005(int _param0, int _param1) => _param0 ^ _param1 - -~~-~--~~-~-1293141563 ^ _param0 - _param1;
}
private sealed class \u0002\u2004\u2002\u2007\u2004\u2003\u2006\u2006\u2004\u2002\u2009\u2009\u200A\u2003\u2007\u2003\u2009\u2000\u2008\u2000\u2003\u2004
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static int \u0002() => \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0002(\u0003\u2000.\u0005\u2001\u2004\u2003\u2004\u2003\u2003\u2000\u2006\u2003\u200A\u2009\u2005\u2007\u2007\u2006\u2005.\u0002() ^ -~-~-~~--~~-527758444, \u0003\u2000.\u0002(typeof (\u0003\u2000.\u000F\u2008\u200A\u2009\u2007\u2007\u200A\u200A\u2005\u2009))), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2004\u2001\u2007\u2006\u2000\u2009\u2001\u2002\u2008\u2004\u2005\u2000\u2006\u2008\u2002\u2004\u2003\u200A\u2005\u2007\u2008\u2002\u2004\u2005)) ^ \u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2005\u2007\u2009\u2005\u2001\u2003\u2008\u2001\u2003\u2007\u2006\u2005\u2001\u2009\u2005\u2003\u2006\u2005\u2007\u200A\u2001\u2009\u2006\u2002\u200A\u2000)), ~--~-~~-~-~-1089711187));
}
private sealed class \u0006\u2004\u2001\u2007\u2006\u2000\u2009\u2001\u2002\u2008\u2004\u2005\u2000\u2006\u2008\u2002\u2004\u2003\u200A\u2005\u2007\u2008\u2002\u2004\u2005
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static int \u0002() => \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2001\u2004\u2003\u2004\u2003\u2003\u2000\u2006\u2003\u200A\u2009\u2005\u2007\u2007\u2006\u2005)), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2004\u2001\u2007\u2006\u2000\u2009\u2001\u2002\u2008\u2004\u2005\u2000\u2006\u2008\u2002\u2004\u2003\u200A\u2005\u2007\u2008\u2002\u2004\u2005)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2000\u2008\u2008\u2008\u2005\u2007\u200A\u2006\u200A\u2003\u2004\u2000\u2004\u2006\u2009\u200A\u2003\u2007\u2008\u2009\u200A\u2001\u2006)))), \u0003\u2000.\u000E\u2005\u2007\u2009\u2005\u2001\u2003\u2008\u2001\u2003\u2007\u2006\u2005\u2001\u2009\u2005\u2003\u2006\u2005\u2007\u200A\u2001\u2009\u2006\u2002\u200A\u2000.\u0002());
}
private sealed class \u000E\u2005\u2007\u2009\u2005\u2001\u2003\u2008\u2001\u2003\u2007\u2006\u2005\u2001\u2009\u2005\u2003\u2006\u2005\u2007\u200A\u2001\u2009\u2006\u2002\u200A\u2000
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static int \u0002() => \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2005\u2007\u2009\u2005\u2001\u2003\u2008\u2001\u2003\u2007\u2006\u2005\u2001\u2009\u2005\u2003\u2006\u2005\u2007\u200A\u2001\u2009\u2006\u2002\u200A\u2000)), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2000\u2008\u2008\u2008\u2005\u2007\u200A\u2006\u200A\u2003\u2004\u2000\u2004\u2006\u2009\u200A\u2003\u2007\u2008\u2009\u200A\u2001\u2006)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2004\u2001\u2007\u2006\u2000\u2009\u2001\u2002\u2008\u2004\u2005\u2000\u2006\u2008\u2002\u2004\u2003\u200A\u2005\u2007\u2008\u2002\u2004\u2005))), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2004\u2002\u2007\u2004\u2003\u2006\u2006\u2004\u2002\u2009\u2009\u200A\u2003\u2007\u2003\u2009\u2000\u2008\u2000\u2003\u2004)) ^ ~--~~-~-~190070213, \u0003\u2000.\u000E\u2000\u2008\u2008\u2008\u2005\u2007\u200A\u2006\u200A\u2003\u2004\u2000\u2004\u2006\u2009\u200A\u2003\u2007\u2008\u2009\u200A\u2001\u2006.\u0002())));
}
private sealed class \u000F\u2008\u200A\u2009\u2007\u2007\u200A\u200A\u2005\u2009
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static int \u0002() => \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u000F\u2008\u200A\u2009\u2007\u2007\u200A\u200A\u2005\u2009)), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0006\u2004\u2001\u2007\u2006\u2000\u2009\u2001\u2002\u2008\u2004\u2005\u2000\u2006\u2008\u2002\u2004\u2003\u200A\u2005\u2007\u2008\u2002\u2004\u2005)), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0003(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0005\u2001\u2004\u2003\u2004\u2003\u2003\u2000\u2006\u2003\u200A\u2009\u2005\u2007\u2007\u2006\u2005)), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0005(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u0002\u2004\u2002\u2007\u2004\u2003\u2006\u2006\u2004\u2002\u2009\u2009\u200A\u2003\u2007\u2003\u2009\u2000\u2008\u2000\u2003\u2004)), \u0003\u2000.\u0005\u2003\u2009\u2006\u2003\u200A\u2007\u2009\u200A\u2007\u2003\u2002\u200A\u2009\u2009\u2002\u2009.\u0002(\u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2000\u2008\u2008\u2008\u2005\u2007\u200A\u2006\u200A\u2003\u2004\u2000\u2004\u2006\u2009\u200A\u2003\u2007\u2008\u2009\u200A\u2001\u2006)), \u0003\u2000.\u0002(typeof (\u0003\u2000.\u000E\u2005\u2007\u2009\u2005\u2001\u2003\u2008\u2001\u2003\u2007\u2006\u2005\u2001\u2009\u2005\u2003\u2006\u2005\u2007\u200A\u2001\u2009\u2006\u2002\u200A\u2000)))))));
}
}