禁止 verifier.dll 监控程序

verifier监控程序,即使不用代码跑,直接运行exe 也会加载verfier

(不知道是什么原因导致...)

用代码跑output显示如下信息

AVRF: yourapp.exe: pid 0x6EC: flags 0x40007: application verifier enabled
'yourapp.exe': Loaded 'C:\WINDOWS\system32\verifier.dll'
'yourapp.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll'
AVRF: verifier.dll provider initialized for yourapp.exe with flags 0x40007

正常情况调试程序时用Debug->Start with application Verifier 也会加载verfier,但不是永久的。

没有找到网上说的appverfier这个exe来设置

直接导致程序跑的异常慢,并且 对 空事件句柄调用SetEvent/ResetEvetn 或者等待空线程句柄 都会报异常错误

解决办法:

搜索注册表 yourapp.exe,会发现如下键值

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\yourapp.exe]
"GlobalFlag"=dword:00000100
"VerifierFlags"=dword:00040007
"PageHeapFlags"=dword:00000003

yourapp.exe启动被加上了VerifierFlags标志

直接删掉Image File Execution Options 下的yourapp.exe项 ,一切恢复正常。



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ezhong的博客签名-------------------------------------

以上内容来自ezhong的博客园,作者:ezhong

ezhong的博客园: http://www.cnblogs.com/ezhong

感谢您的阅读。感谢您的分享。

原文地址:https://www.cnblogs.com/ezhong/p/2783816.html