当 Windows Defender 把编译工具当病毒:一个开源工具如何让你拿回决定权
【免费下载链接】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 Defender 真正"永久"闭嘴的开源管理器,适用于 Windows 10 和 Windows 11。它不收费、不闭源,代码就摊在那里让你看。
先回答三个问题
它是什么?defender-control 是一个 Windows Defender 管理器。编译后产出两个命令行工具:disable-defender.exe负责禁用,enable-defender.exe负责恢复,一禁一启,没有花哨界面,全是硬核操作。
它凭什么有效?大多数禁用工具只改注册表,系统一更新就被"治愈"。defender-control 不走这条路:它先借用系统最高权限,再把 Defender 的核心驱动和引擎直接改名,让引擎下次开机根本加载不出来。这招不需要进安全模式。
你什么时候才需要它?当你确认这台机器的安全责任由你承担——专用游戏机、编译服务器、隔离的测试环境——并且受够了"关了又复活"。日常办公机、公共网络、存着重要数据的电脑,建议直接划走。
五分钟跑通:从拿到工具到看到效果
先别急着禁用,第一步是把工具搞到手:
git clone https://gitcode.com/gh_mirrors/de/defender-control然后用 Visual Studio 2022 打开src/defender-control.sln,选 Release/x64 编译;想省事就跳过编译,直接用 Release 里的两个 exe。接下来按顺序走:
- 打开Windows 安全中心 → 病毒和威胁防护 → 管理设置。
- 关掉篡改保护,再关掉实时保护——不然 Defender 会在你动手前把工具本身隔离掉。
- 右键以管理员身份运行
disable-defender.exe,工具会自行提权并执行操作。 - 重启。可选,但想要完整效果就重启。
- 验证状态:
disable-defender.exe -c它会把实时防护、篡改保护、MsMpEng进程的运行情况逐项列出来,并给出最终判断。整个过程熟练的话十分钟内能走完。
拆开看:三个关键招数,各用一个比喻
借一把物业总钥匙(TrustedInstaller 提权)
它解决什么问题:Defender 的策略项受内核保护,普通管理员权限也写不进去,一写就报"拒绝访问"。
比喻:就像大楼有物业总钥匙,普通房卡开不了机房。工具从系统服务里临时借来这把总钥匙(代码在src/defender-control/trusted.cpp),写完设置就还回去。
实际效果:以前被内核锁死的注册表项,现在能改了,这是后面所有操作的地基。
把引擎的锁芯换掉(驱动重命名)
它解决什么问题:只改注册表,系统更新或安全组件升级后容易被自动恢复。
比喻:把门锁的锁芯整个换掉,原来的钥匙自然插不进去。工具把WdFilter.sys、WdBoot.sys等核心驱动和引擎文件改名为.OLD,下次开机系统找不到它们,Defender 引擎直接瘫在起跑线上。
实际效果:无需进安全模式就能永久禁用,重启后引擎无法加载,这是它和普通"关开关"工具最本质的区别。
留一张购物小票(恢复清单)
它解决什么问题:禁用容易恢复难,改了几十处设置,你不可能全记住。
比喻:就像结账时的小票,退货时照单清点。工具把每次修改写成清单,存在%ProgramData%\defender-control目录下。
实际效果:想恢复时运行enable-defender.exe,驱动改回原名、注册表清理、所有权归还、服务恢复自启,一条龙完成。
对号入座:三种典型用法
场景一:专用游戏机目标:让后台扫描不再抢 CPU 和磁盘。操作:关闭篡改保护 → 运行disable-defender.exe→ 重启。效果:全盘扫描不再突袭你的团战,开机加载明显变快——帧率提升多少是经验感受,但"不再莫名卡顿"是立竿见影的。
场景二:开发与编译环境目标:编译器不再被误杀,实时扫描不再拖慢构建。操作:禁用后把开发工具链部署齐,必要时写进排除项。效果:CI 脚本和自动化流程不再被安全软件中途打断,这套用法也适合批量部署的受控工作站。
场景三:想反悔目标:让 Defender 恢复上班。操作:管理员运行enable-defender.exe,重启。效果:系统状态回到禁用前,恢复清单保证不会漏掉任何一处修改。
说点实话:边界、坑和恢复
先说最重要的:微软会标记这个工具,Defender 自带其签名(HackTool:Win32/DefenderControl),会把 exe 直接隔离。这是"类别检测"——任何 Defender 禁用器都会被标记,不代表代码有毒。它完全开源,不放心就自己编译一遍再跑。
运行过程中看到failed to write to TamperProtection、kernel-locked、error 5这类报错是正常的:引擎还在运行时这些键被内核锁着,工具靠驱动改名绕过去,重启后生效。
| 问题 | 原因 | 解法 |
|---|---|---|
| 编译失败 | VS 缺"C++ 桌面开发"工作负载 | 装好再编,Release/x64 配置 |
| 提示 Must run as admin | 没提权运行 | 右键"以管理员身份运行" |
| 更新后 Defender 复活 | 只改了注册表或没重启 | 重跑一次并重启 |
| 启用后 Defender 不工作 | 驱动或服务状态异常 | 管理员终端跑DISM /Online /Cleanup-Image /RestoreHealth和sfc /scannow,重启;仍不行就做就地修复升级 |
给你的行动清单
- 先建一个系统还原点,这是最低成本的后悔药。
- 在非主力机上试跑,别拿工作电脑当小白鼠。
- 用
disable-defender.exe -c观察状态,确认真的生效。 - 观察几天,确认没有异常再决定是否长期使用。
- 记住
enable-defender.exe是你随时可用的撤销键。
禁用 Windows Defender 的本质,是把"谁说了算"这个决定权从微软手里拿回自己手里——而这意味着,看门的人换成了你。代码、原理和逆向过程都放在src/defender-control/和archive/research.md里,看不懂的地方,逐行读就是了。
你禁用的不是安全,而是一个不合时宜的管家;但记得锁门的人,永远是你自己。
【免费下载链接】defender-controlAn open-source windows defender manager. Now you can disable windows defender permanently.项目地址: https://gitcode.com/gh_mirrors/de/defender-control
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考