ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

受够了编译时被实时扫描拖慢?用 defender-control 把 Windows Defender 的开关真正握在自己手里

受够了编译时被实时扫描拖慢?用 defender-control 把 Windows Defender 的开关真正握在自己手里 受够了编译时被实时扫描拖慢用 defender-control 把 Windows Defender 的开关真正握在自己手里【免费下载链接】defender-controlAn open-source windows defender manager. Now you can disable windows defender permanently.项目地址: https://gitcode.com/gh_mirrors/de/defender-control你是不是也有过这种经历npm install跑完一个全量构建等得最长的时间不是编译器而是某个名叫MsMpEng.exe的进程在后台把每个文件都扫一遍或者游戏加载时帧率莫名掉得厉害一查任务管理器Defender 的实时防护正占着 30% 的 CPU。Windows Defender 本身是合格的系统防护但当你想关闭它时系统给的选项只有一个——临时关闭重启后它又会满血复活。defender-control是一个开源的 Windows Defender 管理器它的目标很直接让你可以永久禁用 Windows Defender并且事后还能一键恢复全程不需要进入安全模式。别急着搜网上的关闭大法先看看它们为什么都失效你大概试过几类常见的招数我先帮你复盘一下它们各自的坑方法短期效果长期结局安全中心里关实时防护生效重启或系统更新后自动恢复注册表DisableAntiSpyware1部分生效被篡改保护Tamper Protection拦截写入即回滚停用 WinDefend 服务生效下次启动被系统服务保护机制重新拉起组策略关闭受版本限制家庭版根本没有组策略编辑器问题的根源在于Windows 10/11 把 Defender 的防护做成了自愈系统。你关掉服务它靠服务保护重新启动你改注册表内核过滤器直接拒绝写入你删除驱动系统文件保护又给你恢复。单独挑战任何一层都会被反制defender-control 的策略是同时拆掉它的整条防线。下面这张动图展示的就是工具操作前你需要手动处理的界面——进入病毒和威胁防护设置把实时保护和篡改保护暂时关掉三步上手从拉取源码到彻底禁用第一步拿到代码defender-control 是纯 C 项目源码结构非常清晰核心逻辑全部集中在src/defender-control/目录src/defender-control/ ├── main.cpp # 入口参数解析、权限自提升、调度整个禁用/恢复流程 ├── dcontrol.cpp # 核心控制器服务、策略、驱动改名、软删除等全部动作 ├── trusted.cpp # 权限突破获取 TrustedInstaller 令牌的完整实现 ├── reg.cpp # 注册表封装读、写、删、键值枚举 ├── wmic.cpp # WMI 封装读取实时防护状态、篡改保护状态 ├── settings.hpp # 编译开关选择编译成禁用版还是启用版 └── util.cpp # 工具函数进程枚举、路径处理等克隆到本地git clone https://gitcode.com/gh_mirrors/de/defender-control第二步编译成你要的版本用 Visual Studio 2022 打开src/defender-control.sln切换到Release / x64配置。这里有个非常关键的细节settings.hpp里的DEFENDER_CONFIG宏决定编译产物。#define DEFENDER_ENABLE 1 #define DEFENDER_DISABLE 2 #define DEFENDER_CONFIG DEFENDER_DISABLE // 改成 1 就是编译恢复工具也就是说最终你会得到两个可执行文件disable-defender.exe负责禁用enable-defender.exe负责恢复。你需要哪个就把宏改成对应值再构建。别小看这一步很多人编译完只得到一个 exe还以为项目坏了。第三步禁用前的手动准备禁用前有三件事必须做顺序错了后面会卡壳创建系统还原点——这是你最后的后悔药用管理员身份打开命令提示符或终端打开Windows 安全中心 → 病毒和威胁防护 → 管理设置先关闭篡改保护再临时关闭实时保护这一步也是为了让 Defender 不会在运行工具的瞬间把 exe 隔离掉。然后运行disable-defender.exe工具会检测到当前不是管理员权限自动用 TrustedInstaller 身份重新拉起自身然后打印一长串操作日志。看到failed to write to TamperProtection或kernel-locked、error 5这类报错先别慌——这恰恰是正常的。篡改保护相关的注册表项在引擎运行时被内核锁死任何令牌都写不进去工具本来就没指望靠它成功它真正的杀招在后面驱动重命名。跑完后重启系统效果才会完整生效。想知道它到底永久在哪拆开看四层机制很多工具的永久禁用只是把注册表改一遍而 defender-control 的做法是系统化的。我把源码读了一遍整理成下面这张机制清单第一层权限突破——先拿到系统最高令牌普通管理员改不了 Defender 的注册表和服务因为那些键的 ACL 只允许 SYSTEM 和 TrustedInstaller 写入。trusted.cpp解决的就是这个问题它通过winlogon.exe进程拿到 SYSTEM 令牌完成模拟然后激活 TrustedInstaller 服务。在最新版本里还引入了一条更干净的路径——通过任务计划程序以 TrustedInstaller 身份运行任务把整个工具进程直接放进 TI 的上下文里执行。第二层服务与进程控制——让引擎先停下来拿到权限后dcontrol.cpp会依次做三件事终止smartscreen.exe和所有 Defender 相关进程、停止WinDefend服务、然后把WinDefend、WdFilter、WdNisDrv、WdNisSvc等服务的注册表启动值全部改为Start4禁用。这保证了系统在重启后不会自动把这些服务拉起来。第三层注册表策略全覆盖——不给自愈留后门这一层是整个工具最厚实的部分涵盖了几十个注册表项组策略层的DisableAntiSpyware、DisableAntiVirus实时防护的全部 10 个开关键DisableRealtimeMonitoring、DisableBehaviorMonitoring等SmartScreen、AMSI、ETW 日志、云保护、自动样本提交甚至包括 Windows 11 特有的 Web 威胁防护WTDS、应用防护、Exploit Guard以及计划任务和防火墙策略。有意思的是源码里还保留了一个微软官方拼写错误DisableGenericRePorts——说明作者是真的一步步对照着系统行为扒出来的不是拍脑袋写的。第四层驱动软删除——这才是永久的真正来源注册表可以被系统更新重置但驱动文件被改名引擎在下次启动时根本加载不出来。工具会以 TrustedInstaller 身份把 Defender 的驱动和引擎二进制重命名核心驱动WdFilter.sys→WdFilter.sys.OLD、WdBoot.sys→WdBoot.sys.OLD还包括WdNisDrv.sys、WdDevFlt.sys引擎本体MsMpEng.exe、mpengine.dll、MpRtp.dll等一系列文件全部改名如果文件正在被占用而无法立即改名工具会调用MoveFileEx的MOVEFILE_DELAY_UNTIL_REBOOT标志把改名操作调度到下次重启前执行——这就是为什么官方建议禁用后重启一次。同时所有被改名文件的清单会写入%ProgramData%\defender-control\soft-deleted.txt这就是恢复功能的账本。怎么确认真的关掉了又怎么反悔禁用后安全中心的界面会被锁死这是工具刻意为之防止误操作所以检查状态要用命令行。运行disable-defender.exe -c它会实时读取 WMI 状态报告实时防护、云保护、篡改保护的实际状态检查MsMpEng进程是否还在运行最后给出一个判定结论。-c模式不需要管理员权限也不需要自提升纯粹只读。加上-s参数可以跳过结尾的pause方便在脚本里使用。想恢复就运行enable-defender.exe恢复过程是禁用过程的镜像操作把.OLD文件全部改回原名并归还所有权、清理所有策略注册表键、恢复服务启动值、恢复计划任务和防火墙设置。就算中断了也不用担心工具会根据清单文件做增量恢复即便清单丢了它还会扫描目录下的.OLD文件兜底恢复。恢复后同样需要重启一次让WinDefend服务在开机时正常拉起。几个高频翻车现场提前帮你排雷1. 工具一运行就被 Defender 隔离这是必然的。项目在公开仓库存在多年Defender 早已内置了它的特征签名HackTool:Win32/DefenderControl。这属于针对任何 Defender 禁用工具的类别检测不代表代码有恶意。项目完全开源你可以自己审查源码再编译。所以流程里才强调要先临时关掉实时防护再运行。2. 报错一堆到底成没成功error 5、kernel-locked、failed to write to TamperProtection都是预期输出。判断标准只有一个重启后运行disable-defender.exe -c看最终判定。中途的报错大多是引擎还在运行时对受保护键的写入失败不影响最终结果。3. 篡改保护关不掉怎么办篡改保护处于开启状态时内核过滤器会拒绝所有对受保护键的写入——无论你是什么令牌。工具会在运行前通过 WMI 检测并给出明确警告。此时只能通过安全中心手动关闭或者在 WinRE 里离线修改注册表没有第三条路。4. 启用后 Defender 起不来了在管理员终端依次执行DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow然后重启。如果仍无法恢复用 Windows ISO 做一次原位修复升级保留文件和应用程序这是官方认可的兜底方案。兼容性、脚本化部署与一条忠告版本兼容性工具适配 Windows 10 和 Windows 1120H2 以上的 Win10 测试最充分Win11 早期版本功能完整最新版本建议先在虚拟机里验证。代码里对 Windows 11 的 WTDS、VBS/Device Guard 等新增防护面做了针对性处理说明作者一直在跟进新版本的变化。自动化部署-s静默参数让工具可以嵌入批处理脚本。配合-c返回的错误码你可以写出先查状态、命中才操作的幂等脚本批量部署到多台测试机上echo off disable-defender.exe -c -s if %ERRORLEVEL% EQU 0 ( echo Defender 已处于禁用状态跳过。 ) else ( disable-defender.exe -s echo 已执行禁用建议重启。 )最后一条忠告请务必看完禁用 Windows Defender 意味着你的机器失去了默认的实时防护恶意软件、勒索程序不会跟你讲道理。这套工具最适合的场景是专用游戏机、隔离的测试环境、性能基准测试平台或者已有第三方安全方案的工作站。不要在公网裸奔、不要存重要数据的机器、生产服务器上用它这不是技术问题是责任问题。工具本身提供了完整的恢复通路但能恢复不等于应该滥用。defender-control 的价值在于把选择权还给了用户想关它能干净利落地关掉想开它能原样恢复。如果你恰好被 Defender 的实时扫描折磨了很久不妨先建好还原点在虚拟机里把settings.hpp的两个版本都编译一遍亲手走完禁用 → 重启 → 验证 → 恢复 → 重启的完整闭环——一个小时后你就能确定这套方案适不适合自己的机器。安全与性能的平衡本来就该由你自己决定。【免费下载链接】defender-controlAn open-source windows defender manager. Now you can disable windows defender permanently.项目地址: https://gitcode.com/gh_mirrors/de/defender-control创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表