typedef LONG (NTAPI *NtSuspendProcess)(IN HANDLE ProcessHandle);
typedef LONG (NTAPI *NtResumeProcess)(IN HANDLE ProcessHandle);
/* ... */
void ProcessSuspend(DWORD PID)
{
HANDLE hProcess = OpenProcess(PROCESS_SUSPEND_RESUME, FALSE, PID);
if(!hProcess){
printf("OpenProcess failed. ErrorCode:0x%08X\n", GetLastError());
return;
}
NtSuspendProcess _NtSuspendProcess = (NtSuspendProcess)GetProcAddress(GetModuleHandle("ntdll"), "NtSuspendProcess");
_NtSuspendProcess(hProcess);
CloseHandle(hProcess);
}
void ProcessResume(DWORD PID)
{
HANDLE hProcess = OpenProcess(PROCESS_SUSPEND_RESUME, FALSE, PID);
if(!hProcess){
printf("OpenProcess failed. ErrorCode:0x%08X\n", GetLastError());
return;
}
NtResumeProcess _NtResumeProcess = (NtResumeProcess)GetProcAddress(GetModuleHandle("ntdll.dll"), "NtResumeProcess");
_NtResumeProcess(hProcess);
CloseHandle(hProcess);
return;
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎