从其他应用程序跟踪VirtualProtect调用

时间:2014-09-17 15:09:55

标签: windows debugging kernel32

在Windows Server 2008上,我有一个实例,其中有人正在写入应用程序的指令内存。有人写的大部分是零,每16到32个字节散布一个不同的标记字节,没有模式。我非常确定,为了写入指令存储器,有人必须拨打VirtualProtect。我也很确定它是另一个应用程序(可能是病毒扫描程序)。

有没有办法跟踪VirtualProtect的内核调用? 是否有另一种方法可以找出谁可能正在解锁和/或写入指令空间?

我查看了WinDbgPerformance Monitor

1 个答案:

答案 0 :(得分:0)

如果您想知道什么进程正在调用VirtualProtectEx(),则需要将DLL注入到每个正在运行的进程中,并钩住VirtualProtectEx(),然后可以记录所有结果。

您可以使用AppInit DLL机制来执行此操作,这使每个进程都可以加载您指定的DLL。为了方便挂接,您可以使用MS Detours