在沒有核心驅動程式的情況下偵測Win32 行程建立/終止
使用PsSetCreateProcessNotifyRoutine 等API 實作模式驅動程式時,提供核心模式驅動程式了一種強大的機制監視進程活動,也可以使用C 語言的Win32 API函數來實現此功能,而無需借助驅動程式
Win32 API 函數
Win32 API 提供了兩種主要方法來檢測Win32 進程的建立和終止,無需核心驅動程式:
範例程式碼使用RegisterWaitForSingleObject:
VOID CALLBACK WaitOrTimerCallback( _In_ PVOID lpParameter, _In_ BOOLEAN TimerOrWaitFired ) { MessageBox(0, L"The process has exited.", L"INFO", MB_OK); return; } DWORD dwProcessID = 1234; HANDLE hProcHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessID); HANDLE hNewHandle; RegisterWaitForSingleObject(&hNewHandle, hProcHandle , WaitOrTimerCallback, NULL, INFINITE, WT_EXECUTEONLYONCE);
在此範例中,當目標程式終止時將呼叫 WaitOrTimerCallback。
其他注意事項
一些在沒有核心驅動程式的情況下實現進程監控時的其他注意事項包括:
以上是如何在沒有核心驅動程式的情況下偵測 Win32 進程建立/終止?的詳細內容。更多資訊請關注PHP中文網其他相關文章!