Delphi, Dereferencja kod w c++

Odpowiedz Nowy wątek
2011-08-10 17:56
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ę.

Pozostało 580 znaków

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

Pozostało 580 znaków

2011-08-10 20:44
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; 
}
a w kolejnym poście wkleisz cały kod? - krwq 2011-08-10 21:28
Ej ja też tak chce! Przepiszecie mi Linuxa na Delphi?!?!?!??!?!11111oneoneone - payl 2011-08-10 22:15

Pozostało 580 znaków

2011-08-12 12:15
0

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

A jednak da się samemu? Jak dobrze bo już się martwiłem, że nie chcesz się nami wyręczać. - payl 2011-08-12 17:09

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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