【发布时间】:2016-02-07 06:33:08
【问题描述】:
我正在尝试从 Kernel32.dll 中挂钩 OpenProcess,以防止所谓的“injector”程序注入其他 dll进入我的流程:
// -------------------------------------------------------------------
HANDLE WINAPI myOpenProcess(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId)
{
//
if (dwDesiredAccess == PROCESS_ALL_ACCESS || dwDesiredAccess == PROCESS_VM_OPERATION ||
dwDesiredAccess == PROCESS_VM_READ || dwDesiredAccess == PROCESS_VM_WRITE)
{
printf("Blcoked Process ID : %d , DesiredAccess : %d ", dwProcessId, dwDesiredAccess);
return false;
}
//
return dOpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId);
}
如果有人打开“injecting”的过程,我需要添加什么才能“检测”? 我不想“预防”,我想“检测”注射并决定做什么。
【问题讨论】:
-
当然是 C++ :)
-
你在哪里看到 C# 标签?
-
啊对不起...它是自动添加的o.O
标签: c++ windows winapi dll hook