MCPcopy Create free account
hub / github.com/NtQuery/Scylla / openProcessHandle

Method openProcessHandle

Scylla/ProcessAccessHelp.cpp:30–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28//#define DEBUG_COMMENTS
29
30bool ProcessAccessHelp::openProcessHandle(DWORD dwPID)
31{
32 if (dwPID > 0)
33 {
34 if (hProcess)
35 {
36#ifdef DEBUG_COMMENTS
37 Scylla::debugLog.log(L"openProcessHandle :: There is already a process handle, HANDLE %X", hProcess);
38#endif
39 return false;
40 }
41 else
42 {
43 //hProcess = OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_QUERY_INFORMATION|PROCESS_VM_READ|PROCESS_VM_WRITE, 0, dwPID);
44 //if (!NT_SUCCESS(NativeWinApi::NtOpenProcess(&hProcess,PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_QUERY_INFORMATION|PROCESS_VM_READ|PROCESS_VM_WRITE,&ObjectAttributes, &cid)))
45
46 hProcess = NativeOpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_QUERY_INFORMATION|PROCESS_VM_READ|PROCESS_VM_WRITE|PROCESS_SUSPEND_RESUME|PROCESS_TERMINATE, dwPID);
47
48 if (hProcess)
49 {
50 return true;
51 }
52 else
53 {
54#ifdef DEBUG_COMMENTS
55 Scylla::debugLog.log(L"openProcessHandle :: Failed to open handle, PID %X", dwPID);
56#endif
57 return false;
58 }
59 }
60 }
61 else
62 {
63#ifdef DEBUG_COMMENTS
64 Scylla::debugLog.log(L"openProcessHandle :: Wrong PID, PID %X", dwPID);
65#endif
66 return false;
67 }
68
69}
70
71HANDLE ProcessAccessHelp::NativeOpenProcess(DWORD dwDesiredAccess, DWORD dwProcessId)
72{

Callers

nothing calls this directly

Calls 1

logMethod · 0.80

Tested by

no test coverage detected