Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.28 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Net.Mime;
  7. using System.Runtime.InteropServices;
  8. using System.Text;
  9. using System.Threading;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12.  
  13. namespace SniperAutov2
  14. {
  15.     class Program
  16.     {
  17.         [DllImport("User32.dll")]
  18.         static extern int SetForegroundWindow(IntPtr point);
  19.  
  20.         [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  21.         private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);
  22.  
  23.         [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  24.         [return: MarshalAs(UnmanagedType.Bool)]
  25.         private static extern bool UnhookWindowsHookEx(IntPtr hhk);
  26.  
  27.         [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  28.         private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);
  29.  
  30.         [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  31.         private static extern IntPtr GetModuleHandle(string lpModuleName);
  32.  
  33.         private const int WH_KEYBOARD_LL = 13;
  34.         private const int WM_KEYDOWN = 0x0100;
  35.         private static LowLevelKeyboardProc _proc = HookCallback;
  36.         private static IntPtr _hookID = IntPtr.Zero;
  37.  
  38.         private static bool start = false;
  39.  
  40.         static void Main(string[] args)
  41.         {
  42.             //Process p = Process.Start(@"E:\Program Files\StarCraft\starcraft.exe");
  43.  
  44.             _hookID = SetHook(_proc);
  45.             Application.Run();
  46.             UnhookWindowsHookEx(_hookID);
  47.         }
  48.  
  49.         private static IntPtr SetHook(LowLevelKeyboardProc proc)
  50.         {
  51.             using (Process curProcess = Process.GetCurrentProcess())
  52.             using (ProcessModule curModule = curProcess.MainModule)
  53.             {
  54.                 return SetWindowsHookEx(WH_KEYBOARD_LL, proc,
  55.                     GetModuleHandle(curModule.ModuleName), 0);
  56.             }
  57.         }
  58.  
  59.         private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
  60.  
  61.         private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
  62.         {
  63.             if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
  64.             {
  65.                 int vkCode = Marshal.ReadInt32(lParam);
  66.                 if ((Keys)vkCode == Keys.LControlKey && start == false)
  67.                 {
  68.                     Console.WriteLine("Hack started.");
  69.                     start = true;
  70.  
  71.                     /*Process p = Process.Start(@"E:\Program Files\StarCraft\starcraft.exe");
  72.                     p.WaitForInputIdle();
  73.                     IntPtr h = p.MainWindowHandle;
  74.                     SetForegroundWindow(h);*/
  75.  
  76.                     while (start)
  77.                     {
  78.                         SendKeys.SendWait("a");
  79.                         //SendKeys.SendWait("s");
  80.  
  81.                     }
  82.  
  83.                 }
  84.                 else if (vkCode.ToString().Contains("90"))
  85.                 {
  86.                     Console.WriteLine("Hack stopped.");
  87.                     start = false;
  88.                 }
  89.             }
  90.  
  91.             return CallNextHookEx(_hookID, nCode, wParam, lParam);
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement