ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

一键关闭 Windows Defender 与防火墙:no-defender 完整实操指南

一键关闭 Windows Defender 与防火墙:no-defender 完整实操指南

一键关闭 Windows Defender 与防火墙:no-defender 完整实操指南

【免费下载链接】no-defenderA slightly more fun way to disable windows defender + firewall. (through the WSC api)项目地址: https://gitcode.com/GitHub_Trending/no/no-defender

做联调测试、验证软件冲突、或者在隔离环境里跑可疑样本时,你多半遇到过这个麻烦:想临时关闭 Windows Defender 和防火墙,可去"服务"里停WinDefend、再翻组策略编辑器改半天,结果重启一次又全部打回原形,甚至把安全中心界面改得灰蒙蒙的。开源工具no-defender就是为此而生——它通过 Windows 安全中心(WSC,Windows Security Center)接口,一条命令即可禁用 Defender 或防火墙,用完再一条命令干净还原。本文从环境准备、三类常见关闭任务的动手操作讲起,覆盖参数速查、生效核验、安全回滚和失效排查,照着做就行。

能力速览:no-defender 能做什么、适合谁

先花 30 秒搞清楚它的定位,避免用错地方:

维度说明
它是干什么的命令行工具no-defender-loader,通过 WSC 接口向 Windows 声明"有第三方杀毒在场",让系统自动停用 Defender;也可以单独或同时关掉 Windows 防火墙
适合谁开发者做隔离测试、遇到杀软误报需要临时放行、安全研究场景
核心边界禁用效果跨重启保持依赖磁盘上的二进制文件(工具会写自启动项),删文件即失效;原理基于未公开的 WSC API,属于"灰色但可控"的手段
权限要求需要以管理员身份运行,操作对象是系统级安全组件

一句话总结:它不是把 Defender 卸载,而是"骗过"系统让 Defender 自动让位——所以想还原时也能干净利落地请回来。

准备工作:在 Windows 上跑通 no-defender-loader

开工前先满足三个前置条件:

  1. 系统环境:Windows 10 / 11 均可,全程使用管理员权限的终端操作;
  2. 获取程序:把项目拉到本地(注意:该项目上游曾因 DMCA 下架,仓库现在以说明文档为主,如果你本地已有no-defender-loader可执行文件,直接跳到下一节):
git clone https://gitcode.com/GitHub_Trending/no/no-defender

把仓库文档和说明拉到当前目录;项目原始用法与限制详见 README.md。

  1. 终端准备:后续验证步骤用的是 PowerShell 命令,请右键开始菜单选择"Windows PowerShell(管理员)"打开。

核心实战:三类最常见的关闭任务

任务一:只关 Defender,防火墙保持不动

这是最高频的需求,例如某款软件被杀软反复误报。执行:

no-defender-loader --av

命令发给系统的实际含义是"这里有一台第三方杀毒在值班",Windows 收到 WSC 声明后会自动让 Defender 的实时保护让位退出。跑完别急着走,先跳到下面的"效果核验"确认状态真的变了。

任务二:只关 Windows 防火墙

场景通常是本地起了测试服务,防火墙把局域网同事的访问全拦了:

no-defender-loader --firewall

这条只动防火墙开关,Defender 原封不动,适合"网络层放行、病毒层照旧"的折中方案。

任务三:两者全关 + 自定义上报名称

隔离测试环境里需要彻底清场时,把两个开关一次拉满,并给"在场杀毒"起个名字方便日后识别:

no-defender-loader --av --firewall --name "My Test AV"

--name决定系统里登记的"第三方产品"叫什么,默认值是一串仓库路径,改成好认的名字(比如你的测试环境代号)排查时不抓瞎。

参数速查表:no-defender-loader 全部选项

参数作用典型搭配
--av只禁用 Defender单独使用
--firewall只禁用 Windows 防火墙单独使用
--av --firewall两者一起禁用配--name
--name VAR指定 WSC 上报的"在场杀毒"名称--name "My Test AV"
--disable重新启用(还原)Defender 与防火墙收尾必用
--help/--version查看帮助 / 版本信息出错时先跑--help

两个典型组合:

  • 保守型:no-defender-loader --firewall—— 只放行网络,保留病毒防护;
  • 全开测试型:no-defender-loader --av --firewall --name "Isolation Box 1"—— 隔离机上清场,名称标注机器用途。

效果核验:交叉验证 Defender 和防火墙真的关掉了

只盯一个指标容易误判,正确姿势是"服务层 + 功能层"两头对照:

Get-MpComputerStatus | Select RealTimeProtectionEnabled

禁用 Defender 生效后这里应显示False。注意一个反直觉的点:Defender 的宿主服务WinDefend可能仍在运行,真正被关闭的是实时保护功能,所以别只盯着服务状态就下结论。

Get-NetFirewallProfile | Select Name, Enabled

🔍 这条会列出域、专用、公用三种网络下的防火墙开关,全部为False才算关干净;只关防火墙的任务重点看它,还原后则应全部回到True。

两处指标与你"关"的意图一致,才算操作真正落盘生效。

撤销与回滚:一条命令请回 Defender 与防火墙

测试结束,或者不想让机器继续裸奔,直接执行:

no-defender-loader --disable

它会撤销之前声明的"在场杀毒",系统随即恢复 Defender 实时保护与防火墙,无需重启。还原后别省这一步确认:

Get-NetFirewallProfile | Select Name, Enabled Get-MpComputerStatus | Select RealTimeProtectionEnabled

三个防火墙配置文件回到True、实时保护也是True,回滚才算闭环。另外若你要彻底清理,记得先--disable,再把自启动项里那条记录移除——顺序不能反。

疑难排查:命令跑了却没生效怎么办

按由浅入深的顺序逐级走,多数卡点在前三步就能解决:

第一级:确认执行通道活着。WSC 服务是禁用命令的唯一通道,它异常时命令会"看似执行、实际无效":

Get-Service wscsvc

若显示Stopped或异常,先把它启动起来再重试。

第二级:看 Defender 的运行日志定位卡点。是策略拦截还是组件异常,日志里通常有迹可循:

Get-WinEvent -LogName "Microsoft-Windows-Windows Defender/Operational" -MaxEvents 10

翻最近十条事件,找报错关键词,对照上面的服务状态判断。

第三级:怀疑系统文件损坏再动重武器。前两级都排除后,跑完整性修复排除底层损坏:

sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth

先扫描修复系统文件,再重建系统映像,修完重启后重新走一遍"效果核验"。

使用纪律与安全红线

💡 把下面几条当铁律,基本不会踩深坑:

  • 留好还原开关:用完务必执行--disable,除隔离/测试机外,别让系统长期失去实时保护;
  • 二进制别乱删:跨重启保持依赖自启动项 + 磁盘上的可执行文件,删文件等于自行解除持久化;
  • 记录状态基线:操作前把核验命令的输出存档,出问题才有对比依据;
  • 别多工具混用:同一时间并存多个"在场杀毒"声明会造成策略打架,行为不可预期;
  • 分清环境:生产机器动手前先评估风险,隔离/测试环境可以放宽标准。

高频问答 FAQ

Q:为什么重启后 Defender 又自己回来了?A:持久化靠的是自启动项拉起可执行文件。文件被删了或启动项失效,重启就恢复原状。先确认二进制还在、自启动项还在,再重启验证一次。

Q:怎么确认 Defender 和防火墙真的关掉了?A:交叉验证:Get-MpComputerStatus看实时保护、Get-NetFirewallProfile看防火墙、必要时再看 Defender 运行日志,三处状态一致才算彻底关闭——单看服务运行状态不够。

Q:系统启动项里多出一条记录,正常吗?A:正常,这是跨重启保持的代价。要彻底清理的话,顺序必须是先--disable还原防护,再移除自启动项。

写在最后

整套流程压缩成一句话就是:先拍基线照,再按需关闭,核验确认生效,用完一条--disable干净利落地请回来。守住"基线在前、还原在尾"这个节奏,no-defender 就只是几条可控的命令;丢了这个节奏,它才是那台机器上最大的安全隐患。

【免费下载链接】no-defenderA slightly more fun way to disable windows defender + firewall. (through the WSC api)项目地址: https://gitcode.com/GitHub_Trending/no/no-defender

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进