-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
79 lines (56 loc) · 2.28 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Threading;
using mem;
namespace Hackkk
{
internal class Program
{
[DllImport("user32.dll")]
static extern short GetAsyncKeyState(Keys vkey);
static void Main(string[] args)
{
Memory memory = new Memory();
IntPtr moduleBaseAddress = IntPtr.Zero;
Process proc = Process.GetProcessesByName("csgo")[0];
foreach ( ProcessModule module in proc.Modules )
{
if (module.ModuleName == "client.dll") moduleBaseAddress = module.BaseAddress;
}
if (moduleBaseAddress != IntPtr.Zero)
{
const int localPlayerOffset = 0xDB35DC;
const int forceJumpOffset = 0x5278DDC;
const int groundFlagOffset = 0x104;
IntPtr localPlayerAddress = IntPtr.Add(moduleBaseAddress, localPlayerOffset);
IntPtr forceJumpAddress = IntPtr.Add(moduleBaseAddress, forceJumpOffset);
IntPtr localPlayerBuffer = memory.readpointer(proc.Handle, localPlayerAddress);
IntPtr groundAdress = IntPtr.Add(localPlayerBuffer, groundFlagOffset);
Thread bhopThread = new Thread(bhop);
bhopThread.Start();
Console.ReadKey();
void bhop()
{
while (true)
{
if (GetAsyncKeyState(Keys.Space) < 0)
{
IntPtr groundFlagBuffer = memory.readpointer(proc.Handle, groundAdress);
int flag = (int)groundFlagBuffer;
if (flag == 257 || flag == 263 || flag == 261)
{
memory.writebytes(proc.Handle, forceJumpAddress, BitConverter.GetBytes(5));
} else
{
memory.writebytes(proc.Handle, forceJumpAddress, BitConverter.GetBytes(4));
}
}
Thread.Sleep(3);
}
}
}
}
}
}