Windows Defender 禁用工具实测:开源 defender-control 从永久关闭到一键还原
【免费下载链接】defender-controlAn open-source windows defender manager. Now you can disable windows defender permanently.项目地址: https://gitcode.com/gh_mirrors/de/defender-control
Windows Defender 禁用工具并不少见,但大多只能做到"临时关一下"。开源项目 defender-control 的目标要彻底得多:它用系统级最高权限把 Defender 的进程、服务、驱动和策略一次关干净,也能一键恢复,全程无需进入安全模式。
先还原一个常见的场景:你刚编译好的程序被实时防护秒删,后台扫描时不时占满 CPU,设置里手动关掉的 Defender 隔几天又自己打开了。如果你被这类问题困扰过,这篇指南应该对你有用。它不堆术语,只围绕四个问题展开——为什么官方开关关不干净?这个工具凭什么能做到?怎么安全地使用?出了问题怎么退回来?
为什么 Windows 10/11 的设置开关关不掉 Defender?
Defender 从来不是一个普通程序,它是由多个部件拼起来的体系:负责扫描的引擎(MsMpEng)、防病毒服务(WinDefend)、内核过滤驱动(WdFilter.sys、WdBoot.sys)、网络检查服务(NisSrv),外加一层名为"篡改保护"的内核级保险锁。想从外面关掉它,等于同时对付这么多环节:
- 设置界面里的开关只影响"运行状态",对开机驱动和自启动项基本无效;
- 手动修改注册表里的
DisableAntiSpyware,在较新的系统上会被反篡改机制悄悄回滚,重启后一切如初; - 就算侥幸关掉一部分,安全中心检测到状态异常时,也会自动把相关服务重新拉起来。
换句话说,普通管理员身份根本动不了它。要真正关掉,必须同时满足三个条件:拿到比管理员更高的身份、能改写内核驱动文件、以及写下一套能对抗"自动恢复"的策略。defender-control 的设计目标,就是把这三件事一次做完。
从 TrustedInstaller 到驱动改名:禁用原理拆解
工具以管理员身份启动后,会通过任务计划程序(Task Scheduler)的 RunEx 技术,把自身以 TrustedInstaller 服务账户重新拉起。TrustedInstaller 是 Windows 中负责安装与修复系统组件的最高级别服务账户,只有它才够格改写那些被 Defender 锁死的注册表项。
拿到这层身份之后,整个禁用流程可以归纳成下面这张表:
| 环节 | 具体动作 | 作用 |
|---|---|---|
| 停进程 | 结束 MsMpEng、NisSrv、安全中心相关的常驻进程 | 让引擎先停下,为后续改名腾出空间 |
| 改服务 | 把 WinDefend、网络检查服务等注册表启动值设为禁用 | 阻止系统重新拉起这些服务 |
| 改驱动 | 把 WdFilter.sys、WdBoot.sys 等驱动及引擎 exe 重命名为.OLD | 开机时找不到驱动文件,引擎根本无法启动 |
| 写策略 | 写入DisableAntiSpyware等禁用策略,并锁定安全中心界面 | 防止安全中心悄悄把一切改回去 |
其中最关键的是"改驱动名"这一步。驱动文件一旦被改名,重启后内核加载阶段会直接跳过它们——这正是整套方案不需要进入安全模式的原因。所有被改动的文件都会登记进%ProgramData%\defender-control下的恢复清单,为之后的一键还原留好退路。
还有一个容易被忽略的细节:防火墙服务被有意保留运行。因为 Microsoft Store、winget、Docker、WSL 都依赖防火墙服务提供的网络管道,把它一起关掉会连累这些日常工具。
动手之前:先关掉篡改保护与实时保护
正式操作前,有两道保护必须手动关掉,否则后续步骤大概率失败:
- 打开Windows 安全中心 → 病毒和威胁防护 → 管理设置,关闭篡改保护。这是内核层的一道防写入锁,开着它时,即使以 TrustedInstaller 身份改写部分关键项也会被系统拒绝。
- 顺手关闭实时保护。不关的话,工具本体可能在执行之前就被隔离了。
准备工作完成后,右键以管理员身份运行工具即可。整个流程只有两行:
git clone https://gitcode.com/gh_mirrors/de/defender-control disable-defender.exe跑完后建议重启一次,让驱动改名彻底生效。重启后引擎没有机会在开机时加载,禁用效果才算真正固化。
永久禁用 Windows Defender 的操作流程与一键恢复方法
项目发布时提供两个成品,一个负责"关",一个负责"开",互为闭环:
| 可执行文件 | 用途 |
|---|---|
| disable-defender.exe | 执行完整禁用流程,并锁定安全中心界面 |
| enable-defender.exe | 按恢复清单还原全部改动,让 Defender 恢复自动启动 |
禁用之后,安全中心界面是被锁定的,无法从界面确认当前状态。这时可以在命令行里检查:
disable-defender.exe -c-c(等价于-check)会输出一份人类可读的报告,内容包括实时保护与行为监视是否开启、篡改保护状态、MsMpEng.exe进程是否在运行、WinDefend 服务的启动类型与DisableAntiSpyware策略值,最后给出一句综合结论(DISABLED / PARTIALLY DISABLED / ACTIVE)。
加上-s参数可以跳过执行完后的暂停等待,方便把命令写进脚本或计划任务。
想恢复时,以管理员身份运行enable-defender.exe,然后重启。工具会按恢复清单把.OLD文件逐一改回原名,清理策略与界面锁定项,并重新把 WinDefend 设为自动启动。
被微软标记 HackTool 怎么办?聊聊检测与安全性
下载或编译这个工具时,Windows Defender 大概率会弹出警告,把它标记为HackTool:Win32/DefenderControl,甚至直接隔离。这属于"类目检测"——凡是具备禁用 Defender 能力的工具都会命中此类,并不代表代码本身有恶意。
判断一个工具是否可靠,最扎实的依据是源码。defender-control 完全开源,全部实现位于src/defender-control/目录,可以逐行审查,也可以自行编译。比起那些来路不明的"一键关闭工具",这是它最大的底气。
想自己编译?用 Visual Studio 2022 定制专属版本
如果你想验证源码,或者希望定制关闭范围,可以自行构建。项目使用 Visual Studio 2022,打开src/defender-control.sln,在settings.hpp里切换一行宏即可:
#define DEFENDER_CONFIG DEFENDER_DISABLE // 编译出禁用版 #define DEFENDER_CONFIG DEFENDER_ENABLE // 编译出启用版选择 Release / x64 配置后编译,就能得到符合预期的两个 exe。想深入理解实现细节,archive/research.md里保留了作者逆向分析同类工具的全过程,从权限获取到注册表调用的思路都有迹可循。
Defender 恢复失败怎么办?两条兜底命令
绝大多数情况下,enable-defender.exe就能完成还原。万一极端情况下 Defender 怎么都起不来,可以在管理员终端里依次执行:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow然后重启。这两条命令会修复系统组件与受保护文件的完整性,属于微软官方的系统自愈手段。
使用前请想清楚的几件事
最后说几句实在话。关闭 Defender 意味着系统失去默认的实时防护,建议只在受信任的网络环境里操作,动手前给重要数据留一份备份;禁用后用-c定期确认系统状态,需要防护时再一键还原。这个工具的价值在于把选择权交还给用户——想关得干净利落,还是想恢复得原封不动,都由你的实际需求决定。现在就可以克隆一份,亲自把完整流程跑一遍。
【免费下载链接】defender-controlAn open-source windows defender manager. Now you can disable windows defender permanently.项目地址: https://gitcode.com/gh_mirrors/de/defender-control
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考