mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
126 lines
3.0 KiB
C#
126 lines
3.0 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: .
|
|||
|
// Assembly: a5b7ee8e-cbdf-4eff-9144-efd0c433f3fe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
|||
|
// MVID: 97CE9FDF-0921-44CB-AE13-1E9A2A550F0F
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975.exe
|
|||
|
|
|||
|
using SmartAssembly.SmartExceptionsCore;
|
|||
|
using System;
|
|||
|
using System.Diagnostics;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace \u0001
|
|||
|
{
|
|||
|
internal sealed class \u0001
|
|||
|
{
|
|||
|
private static \u0001.\u0001 \u0001;
|
|||
|
private long \u0001;
|
|||
|
|
|||
|
[DllImport("kernel32", EntryPoint = "SetProcessWorkingSetSize")]
|
|||
|
private static extern int \u0003(
|
|||
|
IntPtr process,
|
|||
|
int minimumWorkingSetSize,
|
|||
|
int maximumWorkingSetSize);
|
|||
|
|
|||
|
private void \u0003()
|
|||
|
{
|
|||
|
Process currentProcess;
|
|||
|
try
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
currentProcess = Process.GetCurrentProcess();
|
|||
|
try
|
|||
|
{
|
|||
|
\u0001.\u0001.\u0003(currentProcess.Handle, -1, -1);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
currentProcess?.Dispose();
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
Process process = currentProcess;
|
|||
|
throw UnhandledException.\u0003(ex, (object) process, (object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void \u0003(object sender, EventArgs e)
|
|||
|
{
|
|||
|
DateTime now;
|
|||
|
long ticks;
|
|||
|
try
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
now = DateTime.Now;
|
|||
|
ticks = now.Ticks;
|
|||
|
if (ticks - this.\u0001 <= 10000000L)
|
|||
|
return;
|
|||
|
this.\u0001 = ticks;
|
|||
|
this.\u0003();
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
// ISSUE: variable of a boxed type
|
|||
|
__Boxed<long> local1 = (ValueType) ticks;
|
|||
|
// ISSUE: variable of a boxed type
|
|||
|
__Boxed<DateTime> local2 = (ValueType) now;
|
|||
|
object obj = sender;
|
|||
|
EventArgs eventArgs = e;
|
|||
|
throw UnhandledException.\u0003(ex, (object) local1, (object) local2, (object) this, obj, (object) eventArgs);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private \u0001()
|
|||
|
{
|
|||
|
DateTime now = DateTime.Now;
|
|||
|
this.\u0001 = now.Ticks;
|
|||
|
// ISSUE: explicit constructor call
|
|||
|
base.\u002Ector();
|
|||
|
try
|
|||
|
{
|
|||
|
// ISSUE: method pointer
|
|||
|
Application.Idle += new EventHandler((object) this, __methodptr(\u0003));
|
|||
|
this.\u0003();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
// ISSUE: variable of a boxed type
|
|||
|
__Boxed<DateTime> local = (ValueType) now;
|
|||
|
throw UnhandledException.\u0003(ex, (object) local, (object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static void \u0004()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (Environment.OSVersion.Platform != PlatformID.Win32NT)
|
|||
|
return;
|
|||
|
\u0001.\u0001.\u0001 = new \u0001.\u0001();
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw UnhandledException.\u0003(ex);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|