Ошибка FindPattern - низкий FPS в игре или сбой и NoRecoil не работает - PullRequest
0 голосов
/ 08 февраля 2020
bool Compare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
    for(;*szMask;++szMask,++pData,++bMask)
        if(*szMask=='x' && *pData!=*bMask)   return 0;
    return (*szMask) == NULL;
}

DWORD Pattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
    for(DWORD i=0; i<dwLen; i++)
        if (Compare((BYTE*)(dwAddress+i),bMask,szMask))  return (DWORD)(dwAddress+i);
    return 0;
}

Я ищу массив в игре.

if (norecoil)
{
    BYTE norec = Pattern(0x0000000, 0xfffffff, (PBYTE)"\xAF\x22\x10\xAC\xBA\x22\x10\x04\xC0\x22\x10\x74\xBC\x22\x10\xE4", "xxxxxxxxxxxxxxxx");
    if (norec)
    {
        norec = norec - 130;
        HWND hWnd = FindWindowA(0, ("anyName"));

        GetWindowThreadProcessId(hWnd, &PiD);
        HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PiD);

        WriteProcessMemory(pHandle, (LPVOID)norec, &recoilvalue, sizeof(recoilvalue), 0);
    }
}

Когда я активирую логическое значение norecoil, игра вылетает или fps падает, а norecoil не работает. Есть ли ошибка в функциях? Помоги мне, ребята. ПРИМЕЧАНИЕ. Массив работает.

...