Windows Defender - 以编程方式添加排除文件夹

时间:2016-10-25 06:47:26

标签: windows windows-10 windows-defender

为了研究目的,我正在查看不同的键盘记录器,偶然发现了Refog:

https://www.refog.com/keylogger/

这个程序可以捕获很多系统事件,但真正引起我注意的是其他东西。该程序创建了一个名为Mpk的隐藏文件夹,路径为C:\ Windows \ SysWOW64 \ Mpk。它被标记为操作系统文件文件夹,因为在我取消标记Hide protected operating system files (recommended)之前它不可见。我想这可以通过像attrib +s +h "C:\Windows\SysWOW64\Mpk"这样的attrib命令来完成,所以没什么革命性的。

Hide

但是,他们还为Windows Defender添加了此文件夹的排除项。他们怎么能以编程方式执行此操作?我正在运行Windows 10 Pro x64。

Exclusion

6 个答案:

答案 0 :(得分:10)

执行此操作的正确方法是使用Add-MpPreference PowerShell cmdlet。使用此cmdlet可为文件扩展名,路径和进程添加排除项,并为高,中,低威胁添加默认操作。

您可以使用以下命令行从Windows 10中的高架cmd shell轻松执行此操作:

powershell -inputformat none -outputformat none -NonInteractive -Command Add-MpPreference -ExclusionPath "C:\Windows\SysWOW64\Mpk"

答案 1 :(得分:6)

经过一番挖掘后,我找到了以下文件夹:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths

我无法在我的用户处添加密钥。我收到以下错误:Cannot create key: You do not have the requisite permissions to create a new key under Paths

然而,SYSTEM,WinDefend和TrustedInstaller都具有完全控制。最好的猜测是他们使用了类似DevxExec devxexec.exe /user:TrustedInstaller cmd的东西并将密钥写入注册表。

Enter image description here

答案 2 :(得分:1)

最简单的方法是使用CMD中的PowerShell提升权限(如balrob's answer),但您也可以使用PowerShell环境变量来简化生活;例如:

powershell -inputformat none -outputformat none -NonInteractive -Command Add-MpPreference -ExclusionPath $ENV:USERPROFILE\Downloads

将添加当前用户的Downloads文件夹,例如。 C:\ Users \用户苏珊娜\下载

要获取PowerShell提供的环境变量列表,可以使用此PowerShell命令:

Get-ChildItem Env: | Sort Name

如您所见,有 windir 变量。除了你提到的子文件夹之外,他们还可以使用它。

答案 3 :(得分:1)

在高架外壳中运行(在“开始”菜单中搜索cmd,然后按 Ctrl + Shift + Enter )。

powershell -Command Add-MpPreference -ExclusionPath "C:\tmp"
powershell -Command Add-MpPreference -ExclusionProcess "java.exe"
powershell -Command Add-MpPreference -ExclusionExtension ".java"

powershell -Command Remove-MpPreference -ExclusionExtension ".java"

答案 4 :(得分:0)

转到powershell

Add-MpPreference -ExclusionPath“ C:\ Temp”

参考: https://docs.microsoft.com/en-us/powershell/module/defender/add-mppreference?view=win10-ps

答案 5 :(得分:0)

只是想我会发布这个,因为我花了几秒钟才弄清楚如何在 C# 中做到这一点,但这里是对我有用的代码:

Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')]