Write Process Memory

Hi

Code:
template <class T >
T MemoryEditor < T >::ReadMemory ( DWORD Adress ){
  T Value;
  DWORD SizeRead = 0;
  DWORD dwAdress = Adress + BaseAdress;
  if ( !ReadProcessMemory( hRead, reinterpret_cast < LPCVOID > (dwAdress), reinterpret_cast < char * > ( &Value ), sizeof(T), &SizeRead) )return 0;
  if ( SizeRead != sizeof(T) )return 0;
return Value;
}

template <class T >
bool MemoryEditor < T >::WriteMemory ( T Value, DWORD Adress ){
  DWORD SizeWritten = 0;
  DWORD dwAdress = Adress + BaseAdress;
  if ( !WriteProcessMemory( hWrite, reinterpret_cast < LPVOID > (dwAdress), reinterpret_cast < char * > ( &Value ), sizeof(T), &SizeWritten ) ){
   // debug
    int i = GetLastError();
    return false;
  }
  if (  SizeWritten != sizeof(T) )return false;
  return true;
}

also mein hauptproblem liegt in der Write Memory funktion.
Hier versuche ich eine, in readmemory bestätigte, adresse zu werden jedoch sagt die funktion immer error code : 5 sprich ERROR_ACCESS_DENIED ... der handle wird mit PROCESS_VM_OPERATION geholt :( also sollte es eigentlich gehen.. weiß grad net mehr wie ich da weitermachen soll oO

( mein versuchs process is pinball :D )
 
Zurück
Oben