为什么你手动关掉的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,通过获得系统最高权限并重命名核心驱动,让 Windows 10/11 上的 Defender 禁用效果真正持久,并支持一键恢复。读完你会掌握从编译、禁用、验证到还原的完整流程。
一、先看清问题:为什么"关闭Defender"这件事这么难
手动方案的三次碰壁
- 在设置里关闭"实时保护",几小时后它自己又打开了;
- 用组策略或注册表禁用它,系统更新一次就全被覆盖;
- 即使把服务设为禁用,下次启动又被系统服务保护机制拉起来。
这些糟糕体验的背后,是三个层层加码的"拦路虎":
- 篡改保护(Tamper Protection):它把 Defender 的关键开关"焊死",普通权限连碰都碰不到,注册表写入会被内核直接拒绝;
- 权限壁垒:WinDefend 等核心服务由 TrustedInstaller 账户拥有,管理员账号也改不动;
- 内核级防护:Defender 的引擎以受保护进程(PPL)运行,即使停掉服务,引擎进程也难以被结束。
所以,能不能永久禁用,关键在于三件事:拿到足够的权限、改掉系统的自动恢复机制、让引擎下次开机根本加载不起来。defender-control 正是围绕这三点设计的。
二、认识 defender-control:两个 exe,一个开关
defender-control 是一个完全开源的 Windows Defender 管理器,支持 Windows 10 和 Windows 11。发布版提供两个可执行文件,一个负责关、一个负责开:
| 可执行文件 | 作用 |
|---|---|
| disable-defender.exe | 执行全套禁用操作 |
| enable-defender.exe | 按恢复清单还原系统 |
整个工具只由一个命令行入口完成,你不需要进入安全模式,也不需要手动改几十处注册表。
获取与编译
把仓库克隆到本地:
git clone https://gitcode.com/gh_mirrors/de/defender-control用 Visual Studio 2022 打开src/defender-control.sln,选择Release / x64配置。项目通过src/defender-control/settings.hpp中的DEFENDER_CONFIG宏决定编译出禁用版还是启用版(对应DEFENDER_DISABLE/DEFENDER_ENABLE)。
注意:这个仓库公开多年,微软 Defender 已经为它内置了特征库检测(
HackTool:Win32/DefenderControl),下载到的 exe 可能被直接隔离。这是对所有同类禁用工具的分类检测,并不代表代码不安全。项目完全开源,建议你审查源码后自行编译,这也是最稳妥的用法。
三、实战三步走:从准备到永久禁用
第1步:关闭两道保护开关
打开Windows 安全中心 → 病毒和威胁防护 → 管理设置,依次关闭"篡改保护"和"实时保护"。实时保护会试图"吃掉"这个工具,先关掉它才能顺利运行。
上图是工具作者提供的演示画面,展示的就是这一步要面对的管理设置界面。重点看"实时保护""云提供的保护""自动提交样本""篡改保护"这几项开关:先手动关掉实时保护与篡改保护,再进入下一步,工具才能完成后续操作。
第2步:以管理员身份运行
建议先创建系统还原点作为安全备份,然后以管理员身份打开命令提示符,运行:
disable-defender.exe工具会先检测篡改保护是否已关闭,随后自动把自己提升为TrustedInstaller权限(优先走任务计划程序 RunEx 方式,失败时回退到令牌模拟),再执行整套禁用流程。
你可能会在输出里看到failed to write to TamperProtection、kernel-locked、error 5之类的字样——这些是预期现象,不是失败。只要 Defender 引擎还在运行,这些受保护键就写不进去,工具靠的是重命名驱动绕开它们,效果在下次开机时生效。
第3步:重启并验证结果
重启系统让驱动重命名生效,然后检查状态:
disable-defender.exe -c输出会列出实时防护状态、篡改保护状态、MsMpEng 进程是否在运行,并给出最终判断。觉得"按任意键继续"的暂停多余,可以加上-s参数跳过:
disable-defender.exe -c -s看到状态提示 Defender 处于关闭状态,就说明禁用成功了。
四、它到底动了什么:权限、注册表、驱动三管齐下
如果你只是"能用就行",这一步可以跳过;但理解原理能帮你判断风险、也更容易排查问题。整个流程在src/defender-control/下按职责分成了几个模块:
- 权限突破(trusted.cpp):负责获取 TrustedInstaller 权限。可以把它理解成"借到了系统最高管理员的门禁卡",这是后续所有写操作的前提;
- 服务与进程控制(dcontrol.cpp):停止 Defender 相关进程与服务、关闭实时防护、把服务启动类型改为禁用,防止重启后自动拉起;
- 注册表策略(reg.cpp):写入禁用策略、锁定安全中心界面、移除自启动项。相当于把所有"自动复活"的开关逐个关上,并把界面上的操作按钮也收起来;
- 状态检测(wmic.cpp):通过 WMI 查询真实防护状态,供
-c检查模式使用。
其中最关键的"临门一脚"是驱动重命名:把WdFilter.sys、WdBoot.sys等核心驱动和引擎二进制文件重命名为.OLD。打个比方,相当于把引擎的点火钥匙孔堵上了——下次开机系统找不到这些文件,Defender 引擎自然无法加载,全程不需要进入安全模式。
禁用过程会把所有改动写进一份恢复清单,保存在%ProgramData%\defender-control目录下,这是后面一键还原的依据。
五、想恢复防护?一条命令回到原点
需要重新启用时,以管理员身份运行:
enable-defender.exe工具会依据恢复清单把.OLD文件改回原名、清理注册表策略、恢复服务启动类型与所有权,并让 WinDefend 服务恢复自动启动。完成后重启一次,防护就会正常回到系统里。
如果万一遇到"启用后 Defender 仍然起不来"的情况,在管理员终端依次执行:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow重启后一般就能解决;仍不行的话,用 Windows ISO 或安装助手做一次保留文件和应用的原位修复升级。
六、先想清楚再用:哪些场景合适,哪些该警惕
禁用系统自带安全防护是一把双刃剑。安全永远是第一位,这个工具适合"明确知道自己要什么"的人。
| 适合的场景 | 不建议的场景 |
|---|---|
| 专用游戏机,希望排除扫描对帧率的影响 | 日常办公电脑,需要基本防护 |
| 受控的开发/测试环境,工具常被误杀 | 公共网络环境,风险过高 |
| 性能测试平台,需排除安全软件干扰 | 重要数据存储设备 |
| 有专门安全方案的特定服务器 | 生产环境核心服务器 |
对于性能收益,通常可以期待禁用后编译、游戏加载这类吃磁盘和 CPU 的场景有明显改善,但具体数字因人而异,不必轻信任何"精确提升百分比"的宣传。操作前请务必:创建还原点、关闭实时保护与篡改保护、以管理员身份运行,缺一不可。
小结
从"手动关闭屡屡失效"的痛点出发,我们梳理了永久禁用的三个关键障碍,然后走完了 defender-control 从编译、禁用、验证到恢复的完整闭环。它胜在三点:开源透明、驱动级永久生效、一条命令可逆。如果你正被 Defender 的"自动复活"困扰,不妨先看源码再自己编译一个试试——风险可控,主动权始终在你手里。
【免费下载链接】defender-controlAn open-source windows defender manager. Now you can disable windows defender permanently.项目地址: https://gitcode.com/gh_mirrors/de/defender-control
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考