-
Автор темы
- #1
Перестаёт работать после смены карты
Кто шарит помогите
Кто шарит помогите
C++:
#include <Windows.h>
#include <TlHelp32.h>
int main()
{
DWORD Client = NULL; // тут будет адрес client_panorama.dll
DWORD m_fFlags = 0x104; // Состояние (сдвиг)
DWORD dwForceJump = 0x51E0004; //прыжок
DWORD Localplayer = 0xD28B74; //оффсет на локал плеир
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); //открываем хэндл для взаимодействия с процессом
} 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;
}