#include #include int main() { DWORD Client = NULL; // тут будет адрес client_panorama.dll DWORD m_fFlags = 0x104; // Состояние (сдвиг) DWORD dwForceJump = 0x5170E70;//прыжок DWORD Localplayer = 0xCBD6A4; DWORD pID = NULL; HANDLE Handle = NULL; HWND hwnd = NULL; do { HWND hwnd = FindWindowA(0, "Counter-Strike: Global Offensive"); // ищем ксго if (!hwnd) continue; GetWindowThreadProcessId(hwnd, &pID);//получаем pID Handle = OpenProcess(PROCESS_ALL_ACCESS, false, pID);//открываем хэндл для взаимодействия с процессом Sleep(50); } while (!Handle); HANDLE ModulList = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pID);//слепок модулей MODULEENTRY32 mEntry;//объект модуля mEntry.dwSize = sizeof(mEntry); do { if (!strcmp(mEntry.szModule, "client_panorama.dll")) //Сверяем модуль { CloseHandle(ModulList);//закрываем HANDLE Client = (DWORD)mEntry.modBaseAddr; //Получаем адрес модуля break; } } while (Module32Next(ModulList, &mEntry));//переходим к следующему модулю int Flag; DWORD player; int jump = 5; int lock = 4; ReadProcessMemory(Handle, (LPVOID)(Client + Localplayer), &player, sizeof(DWORD), 0);//запишем адрес локального игрока(адрес нашего персонажа) while (!GetAsyncKeyState(VK_DELETE))// нужно для закрытия по нажатию на клавишу DELETE { if (GetAsyncKeyState(VK_SPACE)) // если нажали пробел, включаем Bhop { ReadProcessMemory(Handle, (LPVOID)(player + m_fFlags), &Flag, sizeof(int), 0); if (Flag == 257 || Flag == 263) //257 - стоит, 263 = присел WriteProcessMemory(Handle, (LPVOID)(Client + dwForceJump), (LPCVOID)&jump, sizeof(int), 0);//пишем в память что нужно прыгнуть else WriteProcessMemory(Handle, (LPVOID)(Client + dwForceJump), (LPCVOID)&lock, sizeof(int), 0);//возвращаем значение } Sleep(5); } CloseHandle(Handle);//закрываем HANDLE return 0; }