#include <Windows.h>
#include <iostream>
#include <TlHelp32.h>
using namespace std;
HANDLE hProc
PROCESSENTRY32 ProcEntry;
DWORD pID;
void getProc(char* procName)
{
ProcEntry.dwSize = sizeof(ProcEntry);
hProc = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
while (Process32Next(hProc, &ProcEntry))
{
if (!strcmp((char*)ProcEntry.szExeFile, procName))
{
pID = ProcEntry.th32ProcessID;
CloseHandle(hProc);
hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
return;
}
}
cout << "Process wasnt found in snapshot lmao trash.\n"
}
DWORD getMod(LPSTR ModuleName)
{
HANDLE hMod = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pID);
MODULEENTRY32 mEntry;
mEntry.dwSize = sizeof(mEntry);
while (Module32Next(hMod, &mEntry))
{
if (!strcmp((char*)mEntry.szModule, ModuleName))
{
CloseHandle(hMod)
return (DWORD)mEntry.modBaseAddr;
}
}
cout << "Module wasnt found lol\n";
}
template <class cData>
void Write(DWORD dwAdress, cData value)
{
WriteProcessMemory(hProc, (LPVOID)dwAdress, &value, sizeof(cData), NULL);
}
template <class cData>
cData Read(DWORD dwAddress)
{
cData readValue;
ReadProcessMemory(hProc, (LPVOID)dwAddress, &readValue, sizeof(cData), NULL);
return readValue
}
int main()
{
getProc("csgo.exe");
DWORD clientDLLBase = getMod("client_panorama.dll);
while (true)
{
DWORD lclPlr = Read<DWORD>(clientDLLBase + 0xCEB9BC);
int localPLayerStance = Read<int>(lclPlr + 0x104);
if ((GetAsyncKeyState(VK_SPACE) & 0x8000) &&
localPLayerStance & 1 << 0)
Write(clientDLLBase + 0x51A0AE4, 6);
Sleep(1);
}
}