readprocessmemory — c ++, чтение и запись памяти,

так что я новичок в C ++ (очень новый), и я пытался с этим кодом в течение 7 часов,
и я не знаю, почему он не работает, он скомпилирован нормально, но похоже, что он пишет по неправильному адресу, у меня такое чувство, что я что-то не так, спасибо.

      #include<iostream>
#include<windows.h>
#include<stdlib.h>
using namespace std;

int main() {
DWORD id;
HANDLE handle;
HWND wnd;

unsigned int baseadd = {0x021da060};
unsigned int ptemp;
unsigned int pointer;

unsigned  int newdata = 5000;

wnd = FindWindow(NULL, "AssaultCube");
GetWindowThreadProcessId(wnd,&id);handle = OpenProcess(PROCESS_ALL_ACCESS,FALSE,id);

ReadProcessMemory(handle,(LPVOID)baseadd,&ptemp,sizeof(ptemp),0);
pointer =ptemp + 0x384;

ReadProcessMemory(handle,(LPVOID)pointer,&ptemp,sizeof(ptemp),0);
pointer =ptemp + 0x14;

ReadProcessMemory(handle,(LPVOID)baseadd,&ptemp,sizeof(ptemp),0);
pointer =ptemp + 0x0;

cout << &pointer;                     // just to check if it was the right address , its not

WriteProcessMemory(handle,(LPVOID)pointer,&newdata,sizeof(newdata),NULL);
}

-1

Решение

Проблема, вероятно, в том, что вы на самом деле не печатаете значение pointer переменная, вместо этого вы печатаете его местоположение. Адрес оператора & возвращает указатель на переменную.

1

Другие решения


По вопросам рекламы [email protected]