mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-25 21:05:28 +00:00
147 lines
4.1 KiB
C#
147 lines
4.1 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 \u0001;
|
|||
|
using \u0005;
|
|||
|
using System;
|
|||
|
using System.Drawing;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
|
|||
|
namespace \u0005
|
|||
|
{
|
|||
|
internal sealed class \u0003
|
|||
|
{
|
|||
|
[NonSerialized]
|
|||
|
internal static \u0002 \u0001;
|
|||
|
|
|||
|
[DllImport("shell32", EntryPoint = "ExtractIconEx")]
|
|||
|
private static extern int \u0003([In] string obj0, [In] int obj1, [In] ref int obj2, [In] ref int obj3, [In] int obj4);
|
|||
|
|
|||
|
[DllImport("user32", EntryPoint = "DrawText", CharSet = CharSet.Unicode)]
|
|||
|
private static extern int \u0003(
|
|||
|
[In] IntPtr obj0,
|
|||
|
[In] string obj1,
|
|||
|
[In] int obj2,
|
|||
|
[In] ref \u0003.\u0001 obj3,
|
|||
|
[In] int obj4);
|
|||
|
|
|||
|
[DllImport("gdi32.dll", EntryPoint = "SelectObject")]
|
|||
|
private static extern IntPtr \u0003([In] IntPtr obj0, [In] IntPtr obj1);
|
|||
|
|
|||
|
[DllImport("kernel32.Dll", EntryPoint = "GetVersionEx")]
|
|||
|
private static extern short \u0003([In] ref \u0003.\u0002 obj0);
|
|||
|
|
|||
|
public static Icon \u0003()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
return \u0003.\u0004();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
return \u0006.\u0003(\u0003.\u0001(3300));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static Icon \u0004()
|
|||
|
{
|
|||
|
int num1 = 0;
|
|||
|
int num2 = 0;
|
|||
|
if (\u0003.\u0003(\u009E\u0003.\u001D(), -1, ref num2, ref num2, 1) > 0)
|
|||
|
{
|
|||
|
\u0003.\u0003(\u009E\u0003.\u001D(), 0, ref num1, ref num2, 1);
|
|||
|
if (num1 != 0)
|
|||
|
return \u0004\u0006.\u0094\u0008(new IntPtr(num1));
|
|||
|
}
|
|||
|
return (Icon) null;
|
|||
|
}
|
|||
|
|
|||
|
internal static string \u0003()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
return \u0003.\u0004();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
return string.Empty;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static string \u0004()
|
|||
|
{
|
|||
|
\u0003.\u0002 obj = new \u0003.\u0002();
|
|||
|
// ISSUE: type reference
|
|||
|
obj.\u0001 = \u001D\u0003.\u0012\u0007(\u0084\u0003.\u0012\u0005(__typeref (\u0003.\u0002)));
|
|||
|
int num = (int) \u0003.\u0003(ref obj);
|
|||
|
return obj.\u0001;
|
|||
|
}
|
|||
|
|
|||
|
internal static int \u0003([In] Graphics obj0, [In] string obj1, [In] Font obj2, [In] int obj3)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
return \u0003.\u0005(obj0, obj1, obj2, obj3);
|
|||
|
}
|
|||
|
catch (Exception ex1)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
return \u001B\u0005.\u008B\u0004((double) \u0003.\u0004(obj0, obj1, obj2, obj3) * 1.1);
|
|||
|
}
|
|||
|
catch (Exception ex2)
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
private static int \u0004([In] Graphics obj0, [In] string obj1, [In] Font obj2, [In] int obj3) => \u0087\u0004.\u009E\u0008(\u0094\u0004.\u007E\u008D\u0008((object) obj0, obj1, obj2, obj3)).Height;
|
|||
|
|
|||
|
private static int \u0005([In] Graphics obj0, [In] string obj1, [In] Font obj2, [In] int obj3)
|
|||
|
{
|
|||
|
\u0003.\u0001 obj = new \u0003.\u0001(new Rectangle(0, 0, obj3, 10000));
|
|||
|
int num1 = 3088;
|
|||
|
IntPtr num2 = \u007F\u0005.\u007E\u008A\u0008((object) obj0);
|
|||
|
IntPtr num3 = \u007F\u0005.\u007E\u0005\u000E((object) obj2);
|
|||
|
IntPtr num4 = \u0003.\u0003(num2, num3);
|
|||
|
\u0003.\u0003(num2, obj1, -1, ref obj, num1);
|
|||
|
\u0003.\u0003(num2, num4);
|
|||
|
\u008F\u0005.\u007E\u008B\u0008((object) obj0, num2);
|
|||
|
return obj.\u0004 - obj.\u0002;
|
|||
|
}
|
|||
|
|
|||
|
static \u0003() => \u0003.\u0003();
|
|||
|
|
|||
|
private struct \u0001
|
|||
|
{
|
|||
|
public int \u0001;
|
|||
|
public int \u0002;
|
|||
|
public int \u0003;
|
|||
|
public int \u0004;
|
|||
|
|
|||
|
public \u0001([In] Rectangle obj0)
|
|||
|
{
|
|||
|
this.\u0001 = obj0.Left;
|
|||
|
this.\u0002 = obj0.Top;
|
|||
|
this.\u0004 = obj0.Bottom;
|
|||
|
this.\u0003 = obj0.Right;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private struct \u0002
|
|||
|
{
|
|||
|
public int \u0001;
|
|||
|
public int \u0002;
|
|||
|
public int \u0003;
|
|||
|
public int \u0004;
|
|||
|
public int \u0005;
|
|||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
|||
|
public string \u0001;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|