三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

为什么你手动关掉的Windows Defender总会自己回来?开源工具defender-control让永久禁用一次到位

为什么你手动关掉的Windows Defender总会自己回来?开源工具defender-control让永久禁用一次到位

为什么你手动关掉的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"这件事这么难

手动方案的三次碰壁

  • 在设置里关闭"实时保护",几小时后它自己又打开了;
  • 用组策略或注册表禁用它,系统更新一次就全被覆盖;
  • 即使把服务设为禁用,下次启动又被系统服务保护机制拉起来。

这些糟糕体验的背后,是三个层层加码的"拦路虎":

  1. 篡改保护(Tamper Protection):它把 Defender 的关键开关"焊死",普通权限连碰都碰不到,注册表写入会被内核直接拒绝;
  2. 权限壁垒:WinDefend 等核心服务由 TrustedInstaller 账户拥有,管理员账号也改不动;
  3. 内核级防护: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 TamperProtectionkernel-lockederror 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.sysWdBoot.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),仅供参考

← 返回列表