Delphi, Dereferencja kod w c++

0

Witam. Może to zabawne, ironiczne etc. Nie ogarniam języka c++ a znalazłem kod który mi jest potrzebny. Mógłby to ktoś przepisać na delphi? Jest to funkcja do Dereferencji Wskaźnika.

UINT_PTR DeRef(UINT_PTR _uiPointer) {
        UINT_PTR uiRet;
    if (!::ReadProcessMemory( hProcess, (LPVOID)_uiPointer, &uiRet, sizeof( uiRet ), NULL )) return 0UL;
    return uiRet;
}

Z góry dziękuję.

0
function DeRef(_uiPointer:NativeUInt):NativeUInt;
var dummy:Cardinal;
begin
  if not ReadProcessMemory(hProcess,pointer(_uiPointer),@Result,sizeof(Result),dummy)
    then Result:=0;
end;
0

dzięki i jak możesz, to jeszcze tą funkcję obsługującą to:

UINT_PTR GetModuleBase(LPSTR lpModuleName, DWORD dwProcessId) 
{ 
   MODULEENTRY32 lpModuleEntry = {0}; 
   HANDLE hSnapShot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwProcessId ); 

   if(!hSnapShot) 
      return NULL; 
   lpModuleEntry.dwSize = sizeof(lpModuleEntry); 
   BOOL bModule = Module32First( hSnapShot, &lpModuleEntry ); 
   while(bModule) 
   { 
           if(!strcmp( lpModuleEntry.szModule, lpModuleName ) ) 
      { 
         CloseHandle( hSnapShot ); 
         return (DWORD)lpModuleEntry.modBaseAddr; 
      } 
      bModule = Module32Next( hSnapShot, &lpModuleEntry ); 
   } 
   CloseHandle( hSnapShot ); 
   return NULL; 
}
0

Zrobiłem sobie już. Do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1