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 не работает. Есть ли ошибка в функциях? Помоги мне, ребята. ПРИМЕЧАНИЕ. Массив работает.