2016-08-01 12 views
-1

Hi ich fragte mich, wie könnte ich bestimmte Handle von Prozess bekommen.C++ Handle aus dem Prozess ohne OpenProcess()

Ich meine, ich habe dll, was ich zum Beispiel in den Prozess injizieren. "example.exe", die auf verschiedenen anderen Prozessen behandelt wird, und ich möchte handle zu "exampleHandle.exe", die "example.exe" bereits hat.

im Grunde würde ich den Griff "stehlen", so dass der Griff, ohne eine neue zu öffnen.

Dies ist, wie ich tat es mit Open()

void ProcMem::Process(char* ProcessName) 
{ 
    HANDLE hPID = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); 
    PROCESSENTRY32 ProcEntry; 
    ProcEntry.dwSize = sizeof(ProcEntry); 
    do 
     if (!strcmp(ProcEntry.szExeFile, ProcessName)) 
     { 
      dwPID = ProcEntry.th32ProcessID; 
      CloseHandle(hPID); 
      hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID); 
      return; 
     } 
    while (Process32Next(hPID, &ProcEntry)); 

    cout << "\nCouldn't find process\n"; 
    system("pause"); 
    exit(0); 
} 
+0

Sie für Teleportation fragen. Es ist keine C++ - Funktion. Kein Betriebssystem-Feature. –

Antwort