mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-20 18:36:10 +00:00
207 lines
4.0 KiB
C#
207 lines
4.0 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: x
|
|||
|
// Assembly: XobniService, Version=1.8.3.7917, Culture=neutral, PublicKeyToken=6298d2d1fcfb5d85
|
|||
|
// MVID: EA9F7D71-4A8D-4739-A320-5F01FC76E972
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Patched.mf-01164dae267b1f13c988de64e7fce38753b97528a3dc3fe730e191fc953c65ba.exe
|
|||
|
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Runtime.CompilerServices;
|
|||
|
using System.ServiceProcess;
|
|||
|
using System.Threading;
|
|||
|
using XobniLogging;
|
|||
|
|
|||
|
public class x : ServiceBase
|
|||
|
{
|
|||
|
private static bool a;
|
|||
|
private static readonly object b = new object();
|
|||
|
private static readonly TimeSpan c = TimeSpan.FromSeconds(5.0);
|
|||
|
private static readonly TimeSpan d = TimeSpan.FromSeconds(30.0);
|
|||
|
private static readonly TimeSpan e = TimeSpan.FromHours(1.0);
|
|||
|
private static Thread f;
|
|||
|
private lo g;
|
|||
|
|
|||
|
public x() => this.e();
|
|||
|
|
|||
|
private void e() => this.ServiceName = "XobniService";
|
|||
|
|
|||
|
void ServiceBase.a(string[] A_0)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
lock (x.b)
|
|||
|
{
|
|||
|
if (x.a)
|
|||
|
return;
|
|||
|
x.a = true;
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.g == null)
|
|||
|
{
|
|||
|
this.g = new lo();
|
|||
|
this.g.b();
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "RedemptionListenerStart", ex);
|
|||
|
}
|
|||
|
x.f = new Thread(new ThreadStart(x.d));
|
|||
|
x.f.Start();
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "OnStart", ex);
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void ServiceBase.f()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
lock (x.b)
|
|||
|
{
|
|||
|
if (!x.a)
|
|||
|
return;
|
|||
|
x.a = false;
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.g != null)
|
|||
|
{
|
|||
|
this.g.c();
|
|||
|
this.g = (lo) null;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "RedemptionListenerStop", ex);
|
|||
|
}
|
|||
|
x.f.Interrupt();
|
|||
|
Monitor.Wait(x.b);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "OnStop", ex);
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static void d()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
TimeSpan d = x.d;
|
|||
|
TimeSpan timeSpan = TimeSpan.Zero;
|
|||
|
while (true)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
List<x.a> aList;
|
|||
|
do
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
Thread.Sleep(x.c);
|
|||
|
}
|
|||
|
catch (ThreadInterruptedException ex)
|
|||
|
{
|
|||
|
}
|
|||
|
lock (x.b)
|
|||
|
{
|
|||
|
if (!x.a)
|
|||
|
{
|
|||
|
Monitor.PulseAll(x.b);
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
d -= x.c;
|
|||
|
timeSpan -= x.c;
|
|||
|
aList = new List<x.a>();
|
|||
|
if (timeSpan <= TimeSpan.Zero)
|
|||
|
{
|
|||
|
timeSpan = x.e;
|
|||
|
aList.Add(new x.a(x.a));
|
|||
|
}
|
|||
|
if (d <= TimeSpan.Zero)
|
|||
|
{
|
|||
|
d = x.d;
|
|||
|
aList.Add(new x.a(x.b));
|
|||
|
}
|
|||
|
}
|
|||
|
while (aList.Count == 0);
|
|||
|
Delegate.Combine((Delegate[]) aList.ToArray()).DynamicInvoke();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "In TimerLoop:", ex);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "Outer layer around TimerLoop:", ex);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[SpecialName]
|
|||
|
internal static bool c()
|
|||
|
{
|
|||
|
lock (x.b)
|
|||
|
return x.a;
|
|||
|
}
|
|||
|
|
|||
|
private static void b()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
bool? A_0 = gs.b();
|
|||
|
o4.a(A_0);
|
|||
|
fb.a(A_0);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "OnFiveMinutes", ex);
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static void a()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
fb.a();
|
|||
|
l9.c();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
ady.a(Level.Exception, "OnOneHour", ex);
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private delegate void a();
|
|||
|
}
|