mirror of https://github.com/qwqdanchun/DcRat.git
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace Client.Helper
|
|
{
|
|
public static class NativeMethods
|
|
{
|
|
[DllImport("user32.dll")]
|
|
public static extern IntPtr GetForegroundWindow();
|
|
[DllImport("user32.dll")]
|
|
public static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);
|
|
|
|
|
|
[DllImport("kernel32.dll")]
|
|
public static extern IntPtr GetModuleHandle(string lpModuleName);
|
|
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
|
|
public static extern bool CheckRemoteDebuggerPresent(IntPtr hProcess, ref bool isDebuggerPresent);
|
|
|
|
|
|
|
|
public enum EXECUTION_STATE : uint
|
|
{
|
|
ES_CONTINUOUS = 0x80000000,
|
|
ES_DISPLAY_REQUIRED = 0x00000002,
|
|
ES_SYSTEM_REQUIRED = 0x00000001
|
|
}
|
|
|
|
[DllImport("ntdll.dll", SetLastError = true)]
|
|
public static extern void RtlSetProcessIsCritical(UInt32 v1, UInt32 v2, UInt32 v3);
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct LASTINPUTINFO
|
|
{
|
|
public static readonly int SizeOf = Marshal.SizeOf(typeof(LASTINPUTINFO));
|
|
[MarshalAs(UnmanagedType.U4)] public UInt32 cbSize;
|
|
[MarshalAs(UnmanagedType.U4)] public UInt32 dwTime;
|
|
}
|
|
}
|
|
}
|