ich hab hier mal zur Übung/aus Langeweile zwei Funktionen geschrieben, die das Lesen bzw. Schreiben einer Speicheradresse vereinfachen. Ist nichts besonderes und ich denke viele haben das bestimmt schon, aber vllt kann es ja der ein oder andere gebrauchen. Falls ihr Verbesserungsvorschläge habt, immer her damit
Hier die Funktion, die einen Wert schreibt:
Code:
bool MemoryWrite(LPWSTR fensterName, unsigned address, int value){
HWND fensterHandle;
fensterHandle = FindWindow(0,fensterName);
HANDLE processHandle;
DWORD id;
if (!fensterHandle)
{
return false;
} else {
GetWindowThreadProcessId(fensterHandle, &id);
processHandle = OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_OPERATION, false, id);
fflush(stdin);
WriteProcessMemory(processHandle, (LPVOID) address, &value, sizeof(int), NULL);
return true;
}
}
Code:
int MemoryRead(LPWSTR fensterName, unsigned address){
int value;
HWND fensterHandle;
fensterHandle = FindWindow(0,fensterName);
HANDLE processHandle;
DWORD id;
GetWindowThreadProcessId(fensterHandle, &id);
processHandle = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ , false, id);
fflush(stdin);
ReadProcessMemory(processHandle, (LPVOID) address, &value, sizeof(int), NULL);
return value;
}
mfg
Zulman






