TopSoftdeveloper/SetWindowDisplayAffinity-Bypass

GitHub: TopSoftdeveloper/SetWindowDisplayAffinity-Bypass

一个 Windows 安全研究项目,演示了无需 DLL 注入即可绕过 SetWindowDisplayAffinity 窗口捕获保护的非侵入式截图技术。

Stars: 125 | Forks: 5

# SetWindowDisplayAffinity-Bypass : 绕过 Windows 窗口捕获保护(最终版本) ## 先前研究 * 驱动程序解决方案请见 https://github.com/TopSoftdeveloper/Bypass-SetWindowDisplayAffinity ## 概述 在 Microsoft Windows 上,应用程序可以通过使用带有以下标志的 **`SetWindowDisplayAffinity`** API 来限制屏幕捕获: * **`WDA_MONITOR`** * **`WDA_EXCLUDEFROMCAPTURE`** 这些标志通常被大多数捕获工具(例如 Print Screen、Snipping Tool、OBS 等)用来防止屏幕截图和屏幕录制。 本仓库演示了一种**非侵入式技术**来捕获此类受保护窗口的屏幕截图,**无需使用 DLL 注入**或 API hooking。 ## 背景 从历史上看,试图绕过此保护机制的开发者依赖于: * 向目标进程进行 DLL 注入 * Hook `SetWindowDisplayAffinity` 以修改或覆盖其参数 虽然这些方法有效,但它们存在以下缺点: * 会修改目标进程 * 具有侵入性且更容易被检测到 * 可能会引发不稳定或安全风险 本项目探索了一种**替代方法**,避免了向受保护的应用程序注入代码。 ## 演示 该概念受到以下参考项目的启发并与之相关: 🔗 **参考:** [https://github.com/wongfei/wda_monitor_trick](https://github.com/wongfei/wda_monitor_trick) 本仓库在此基础上进一步说明了即使启用了 `WDA_MONITOR` 或 `WDA_EXCLUDEFROMCAPTURE`,在特定条件下依然可以获取屏幕截图。 ## 关键点 * ✅ 无需 DLL 注入 * ✅ 目标进程内无 API hooking * ✅ 适用于受 `SetWindowDisplayAffinity` 保护的窗口 * ❌ 不保证在所有 Windows 版本或 GPU 驱动程序上都能生效 * ❌ 不用于生产环境或恶意用途 ## 结果 查看 video.mp4 文件以了解其工作原理。 ## 联系与支持 如果您想讨论本项目或支持未来的研究: * **Telegram**: [@somerwork](https://t.me/somerwork) * **捐赠 (BTC)**: `bc1q43u0n865fuxc4j2vgm4wp98xuuaawgkgq8yrf4`
标签:API绕过, UML, 截屏保护, 研究项目, 端点可见性, 系统底层