Witam,
Jaka jest najlepsza metoda na znajdywanie pewnych wartości w pamięci?
Nie moge otworzyć procesu i wykorzystać ReadProcessMemory, ponieważ proces ten jest mocno chroniony.
Poniższy kod działa, ale bardzo wolno, poza tym czasem lubi się wysypać nie wiem dlaczego. Tak jakby pamięć w pewnych miejscach była niedostępna.
Próbowałem, naprawić poniższy kod z IsBadReadPtr, oraz z VirtualProtect, ale nadal się wykrzaczał.
DWORD dwStart = 0x00400000;
DWORD dwEnd = 0x7FFFFFFF;
DWORD dwOffset = dwStart;
int value = 45;
while (true)
{
DWORD dwBuffer;
memcpy(&dwBuffer, (void*)dwOffset, 4);
if (dwBuffer == value)
{
printf ("Offset: 0x00%X Content: %d\n", dwOffset,dwBuffer);
}
dwOffset++;
if (dwOffset >=dwEnd) break;
}
Proszę o pomoc.