С++ проблемы с abhop

Начинающий
Статус
Оффлайн
Регистрация
25 Авг 2019
Сообщения
11
Реакции[?]
0
Поинты[?]
0
Перестаёт работать после смены карты
Кто шарит помогите


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;
}
 
Сверху Снизу