21

我出于研究目的检查了不同的键盘记录器,偶然发现了 Refog:

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

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

隐藏

但是,他们还为此文件夹添加了 Windows Defender 的排除项。他们如何以编程方式做到这一点?我正在运行 Windows 10 Pro x64。

排除

4

6 回答 6

26

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

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

powershell -inputformat none -outputformat none -NonInteractive -Command Add-MpPreference -ExclusionPath "C:\Windows\SysWOW64\Mpk"
于 2017-07-27T00:18:03.083 回答
18

在提升的 shell 中运行(在开始菜单中搜索 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"
于 2019-04-29T00:07:56.607 回答
11

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

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并将密钥写入注册表。

在此处输入图像描述

于 2016-10-25T07:23:27.970 回答
1

最简单的方法是使用具有提升权限的 CMD 中的 PowerShell(如balrob 的答案),但您也可以使用 PowerShell 环境变量让您的生活更轻松;例如:

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

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

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

Get-ChildItem Env: | Sort Name

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

于 2018-04-10T22:01:22.440 回答
1

转到电源外壳

Add-MpPreference -ExclusionPath "C:\Temp"

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

于 2019-01-08T21:28:28.773 回答
0

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

        var elevated = new ProcessStartInfo("powershell")
        {
            UseShellExecute = false,
            CreateNoWindow = true,
            Verb = "runas",
            Arguments = " -Command Add-MpPreference -ExclusionPath '" + directory + "'"
        };
        Process.Start(elevated);
于 2021-07-08T14:11:37.597 回答