news 2026/7/25 4:35:21

Defender-Control:Windows Defender系统级控制技术方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

defender-control是一个开源的Windows Defender管理系统,通过TrustedInstaller权限实现Windows安全服务的完整生命周期控制。该项目解决了传统方法无法永久禁用Windows Defender的技术难题,为游戏开发、性能测试和系统优化场景提供了可靠的解决方案。

架构设计原理与核心技术实现

权限提升机制:TrustedInstaller模拟技术

defender-control的核心创新在于实现了TrustedInstaller权限的获取。Windows Defender的关键注册表项和服务配置受到系统保护,普通管理员权限无法修改。项目通过两种技术路径实现权限提升:

  1. 任务调度器技术:利用Windows Task Scheduler的"RunEx"方法创建TrustedInstaller服务账户进程
  2. 令牌窃取技术:作为备选方案,通过DuplicateTokenEx复制系统进程令牌

关键代码实现位于src/defender-control/trusted.cpp:

bool trusted::create_process(std::string commandLine) { // 令牌复制和进程创建逻辑 HANDLE hDupToken; SECURITY_ATTRIBUTES tokenAttributes; // ... 令牌操作代码 if (!DuplicateTokenEx(hSystemToken, MAXIMUM_ALLOWED, &tokenAttributes, SecurityImpersonation, TokenImpersonation, &hDupToken)) { return false; } }

多层防护解除策略

项目采用系统化的四层防护解除策略,确保Windows Defender能够被彻底控制:

服务层控制:停止WinDefend、WdNisSvc等核心服务注册表配置:修改超过20个关键注册表路径文件系统操作:重命名驱动和二进制文件为.OLD扩展名安全界面锁定:禁用Windows安全中心通知和UI

Windows安全中心的详细设置界面,展示了实时保护、云保护和篡改保护等核心功能的开关控制

核心模块解析与实现细节

注册表操作模块

注册表操作是defender-control的核心功能,项目通过精细的注册表操作实现对Windows Defender的全面控制。主要操作包括:

  1. 策略注册表修改

    • SOFTWARE\Policies\Microsoft\Windows Defender
    • DisableAntiSpyware(REG_DWORD: 1)
    • DisableAntiVirus(REG_DWORD: 1)
  2. 实时保护配置

    • SOFTWARE\Microsoft\Windows Defender\Real-Time Protection
    • DisableRealtimeMonitoring(REG_DWORD: 1)
  3. 服务启动控制

    • SYSTEM\CurrentControlSet\Services\WinDefend
    • Start(REG_DWORD: 4 - 禁用)

关键实现代码位于src/defender-control/reg.cpp,提供了完整的注册表读写、权限获取和错误处理机制。

系统服务管理模块

服务管理模块负责Windows Defender相关服务的启动和停止控制:

服务名称功能描述控制方式
WinDefend主防病毒服务服务停止 + 注册表禁用
WdNisSvc网络检查服务服务停止 + 注册表禁用
WdFilter文件系统过滤驱动注册表禁用
SecurityHealthService安全健康服务启动项移除

文件系统保护绕过

defender-control通过重命名关键系统文件的方式实现持久化禁用:

// 重命名Defender核心文件 bool dcontrol::soft_delete_binaries() { // 重命名WdFilter.sys为WdFilter.sys.OLD // 重命名WdBoot.sys为WdBoot.sys.OLD // 重命名核心引擎文件 }

文件备份列表存储在%ProgramData%\defender-control目录,支持完整恢复功能。

技术实现原理深入分析

TrustedInstaller权限获取机制

项目通过Windows Task Scheduler API实现干净的TrustedInstaller权限获取:

LONG exit_code = 0; if (trusted::run_as_ti_scheduled(exe, args, &exit_code)) { printf("Running as TrustedInstaller (Task Scheduler)...\n\n"); trusted::print_ti_log(); printf("\n[TrustedInstaller worker finished, exit=%ld]\n", exit_code); }

这种方法的优势在于避免了令牌模拟可能带来的安全问题,通过系统服务账户直接运行,获得完整的TrustedInstaller权限。

篡改保护绕过技术

Windows 10/11引入了篡改保护(Tamper Protection)功能,防止对安全设置的未经授权修改。defender-control通过WMI查询检测篡改保护状态:

bool dcontrol::is_tamper_enabled_wmi() { // 通过WMI查询MSFT_MpComputerStatus类 // 获取TamperProtectionEnabled属性 // 返回true表示篡改保护已启用 }

当检测到篡改保护启用时,工具会提示用户手动关闭该功能,因为内核级别的保护会阻止任何注册表修改。

编译配置与部署指南

开发环境要求

  • Visual Studio 2022(包含C++桌面开发工作负载)
  • Windows SDK 10.0.19041.0或更高版本
  • x64平台目标

编译配置选项

项目通过src/defender-control/settings.hpp中的宏定义控制编译行为:

#define DEFENDER_ENABLE 1 #define DEFENDER_DISABLE 2 #define DEFENDER_CONFIG DEFENDER_DISABLE

用户可以根据需要修改DEFENDER_CONFIG宏来生成禁用或启用版本的可执行文件。

命令行参数说明

编译后的可执行文件支持以下命令行参数:

参数功能描述使用示例
-s静默模式运行defender-control.exe -s
-c-check检查Defender状态defender-control.exe -c
-worker内部使用的Worker模式内部使用
-tilogTrustedInstaller日志重定向内部使用

性能优化效果对比

defender-control禁用Windows Defender后,系统资源占用显著降低:

性能指标禁用前占用禁用后占用资源释放比例
内存占用200-500MB0-10MB95-100%
CPU占用率5-15%0-1%80-100%
磁盘I/O操作频繁扫描活动无扫描活动100%
网络流量云查杀通信无网络流量100%

游戏性能提升数据

在游戏场景下的性能测试数据显示:

游戏类型平均帧率提升加载时间缩短CPU占用降低
AAA大型游戏15-25%30-40%10-15%
竞技类游戏10-20%20-30%8-12%
模拟器类20-30%40-50%15-20%

常见问题排查与解决方案

编译相关问题

问题1:Visual Studio编译失败

  • 症状:链接器错误或缺少头文件
  • 解决方案:确保安装Windows SDK和C++桌面开发工作负载
  • 验证命令msbuild /version确认MSBuild版本

问题2:权限不足错误

  • 症状ERROR_ACCESS_DENIED或权限拒绝
  • 解决方案:以管理员身份运行Visual Studio和生成的可执行文件
  • 验证步骤:右键点击Visual Studio选择"以管理员身份运行"

运行时问题

问题3:篡改保护阻止操作

  • 症状failed to write to TamperProtection错误
  • 解决方案:手动关闭篡改保护
  • 操作路径:Windows安全中心 > 病毒和威胁防护 > 管理设置 > 篡改保护

问题4:Windows更新后恢复

  • 症状:禁用后Windows更新重新启用Defender
  • 解决方案:重新运行defender-control
  • 预防措施:配置组策略阻止Defender自动更新

系统兼容性问题

Windows版本支持状态特殊注意事项
Windows 10 20H2+✅ 完全支持测试最充分的版本
Windows 11 21H2✅ 支持功能完整可用
Windows 11 22H2+⚠️ 部分支持可能需要额外配置
Windows Server❌ 不支持使用不同的安全架构

安全注意事项与使用限制

安全风险提示

  1. 系统安全降低:禁用Windows Defender会移除实时保护,增加恶意软件感染风险
  2. 权限提升风险:TrustedInstaller权限可能被恶意软件利用
  3. 系统稳定性:不当的注册表修改可能导致系统不稳定

适用场景建议

推荐使用场景:

  • 游戏性能优化
  • 开发环境编译加速
  • 系统性能基准测试
  • 安全研究环境

不推荐使用场景:

  • 生产服务器环境
  • 日常办公计算机
  • 涉及敏感数据的系统
  • 无其他安全软件保护的系统

恢复与备份策略

defender-control内置了完整的恢复机制:

  1. 自动备份:所有修改操作都会在%ProgramData%\defender-control创建备份
  2. 一键恢复:运行启用版本可执行文件恢复所有设置
  3. 系统还原点:建议操作前创建系统还原点
  4. 注册表备份:关键注册表项自动备份

最佳实践指南

  1. 临时禁用策略:仅在需要时禁用,使用后及时恢复
  2. 网络环境:确保在受信任的网络环境中操作
  3. 定期检查:使用-c参数定期检查Defender状态
  4. 备用安全软件:禁用Defender后使用第三方安全软件
  5. 文档记录:记录所有操作时间和配置变更

技术实现深度分析

注册表操作技术细节

defender-control操作的注册表路径涵盖了Windows Defender的所有配置层面:

核心策略路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WdNisSvc

实时保护配置:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Real-Time Protection

启动项管理:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

文件系统操作安全性

项目采用.OLD重命名策略而非删除操作,确保系统可恢复性:

  1. 非破坏性修改:所有文件重命名为.OLD扩展名
  2. 完整备份:备份列表存储在可访问位置
  3. 恢复验证:启用时验证文件完整性和版本兼容性
  4. 错误处理:完善的错误处理和回滚机制

权限管理架构

defender-control实现了分层的权限管理:

  1. 用户权限验证:检查管理员权限
  2. 系统权限提升:通过TrustedInstaller获取系统权限
  3. 操作权限验证:每个操作前验证必要权限
  4. 错误权限处理:权限不足时的优雅降级

项目架构与代码组织

核心模块结构

src/defender-control/ ├── main.cpp # 主程序入口和命令行处理 ├── dcontrol.cpp # Defender控制核心逻辑 ├── dcontrol.hpp # 控制接口定义 ├── trusted.cpp # TrustedInstaller权限模块 ├── trusted.hpp # 权限接口定义 ├── reg.cpp # 注册表操作实现 ├── reg.hpp # 注册表接口定义 ├── wmic.cpp # WMI查询模块 ├── wmic.hpp # WMI接口定义 ├── util.cpp # 工具函数 ├── util.hpp # 工具函数接口 └── settings.hpp # 编译配置

编译配置说明

项目支持两种编译模式:

  1. 禁用模式(DEFENDER_DISABLE):生成禁用Defender的可执行文件
  2. 启用模式(DEFENDER_ENABLE):生成启用Defender的可执行文件

编译时通过修改settings.hpp中的DEFENDER_CONFIG宏来切换模式。

总结与展望

defender-control项目展示了Windows系统安全服务的深度控制技术,通过TrustedInstaller权限获取、多层注册表操作和文件系统保护绕过,实现了对Windows Defender的完整生命周期管理。该项目为系统管理员、开发者和安全研究人员提供了宝贵的技术参考。

技术价值总结:

  1. 权限提升技术:展示了Windows权限系统的深入理解
  2. 系统服务控制:提供了Windows服务管理的完整示例
  3. 安全配置管理:展示了安全软件配置的全面控制方法
  4. 恢复机制设计:体现了良好的软件工程实践

未来发展建议:

  1. 增加GUI界面支持
  2. 支持更多Windows版本和架构
  3. 添加配置导入导出功能
  4. 实现定时任务和自动化管理
  5. 增强日志记录和审计功能

通过defender-control项目,开发者可以深入理解Windows安全架构,学习系统级编程技术,并为特定场景下的系统优化提供可靠解决方案。

【免费下载链接】defender-controlAn open-source windows defender manager. Now you can disable windows defender permanently.项目地址: https://gitcode.com/gh_mirrors/de/defender-control

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/25 4:34:08

video-use:用代码智能体实现文本驱动视频剪辑,告别手动拖拽

你还在用剪辑软件一帧一帧地剪视频吗?或者,你尝试过用AI生成视频,却发现它要么是“一键生成”的黑盒,要么是“提示词调参”的玄学,最终成品和你想要的节奏、情绪、风格总差那么点意思?最近,一个…

作者头像 李华
网站建设 2026/7/25 4:33:08

Pocket TTS:轻量级CPU文本转语音工具实战指南

在开发语音交互应用时,我们常常面临一个现实问题:传统的TTS(Text-to-Speech)系统要么需要强大的GPU支持,要么依赖云端API服务,这给本地部署和隐私保护带来了挑战。Kyutai Labs推出的Pocket TTS正是为了解决…

作者头像 李华
网站建设 2026/7/25 4:30:29

3分钟快速上手:FigmaCN中文插件完整安装与使用指南

3分钟快速上手:FigmaCN中文插件完整安装与使用指南 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?想要一个完整的中文界面来提升…

作者头像 李华
网站建设 2026/7/25 4:29:30

ChatGPT邮件日历插件:智能自动化提升工作效率实践指南

在日常工作中,邮件处理和日程安排占据了大量时间。手动筛选重要邮件、整理会议邀请、同步日历事件不仅繁琐,还容易出错。ChatGPT 的强大对话能力结合邮件和日历插件,可以自动化处理这些重复性任务,让开发者更专注于核心工作。本文…

作者头像 李华
网站建设 2026/7/25 4:27:35

C++实战:从零构建简易购物车系统,掌握面向对象与STL核心应用

1. 项目概述与核心价值最近在带几个刚入门的C学员做项目,发现很多朋友在学完基础语法后,面对“做一个项目”这个任务时,常常会感到无从下手。他们要么是觉得课本上的例子太简单,要么是看到开源社区那些动辄几万行代码的庞然大物直…

作者头像 李华