首页
社区
课程
招聘
[求助]许多外部外挂是如何绕过窗口检测的?
发表于: 2025-11-16 06:25 1518

[求助]许多外部外挂是如何绕过窗口检测的?

2025-11-16 06:25
1518

比如透视方框他们如果用dx创建一个无边框透明的窗口,游戏不是可以很轻松就检查到这类窗口?难道有其它办法来完成绘制方框?比如不需要窗口?


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 589
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2

是的,这种外挂的主流实现方案大概有三种: 

方法一】:覆盖式渲染 - 使用 DirectX 状态钩挂,这是早期和中期外部挂最常用的方法之一。


原理:游戏本身使用DirectX API(如d3d9.dll, d3d11.dll)来渲染画面。外挂会通过DLL注入等方式,将代码注入到游戏进程内部,然后钩住关键的DirectX函数,例如EndScene, Present。


过程:

外挂DLL被注入到游戏进程。

DLL钩住IDirect3DDevice9::EndScene或IDXGISwapChain::Present等函数。

当游戏调用这个函数准备显示画面时,外挂的代码会先被执行。

在外挂的代码里,它使用同一个DirectX设备接口,直接在游戏的渲染目标上绘制方框、线条和文字。

执行完外挂的绘制命令后,再跳回游戏的原始函数继续执行。


为什么能绕过检测:

无额外窗口:所有绘制都是在游戏进程内部,使用游戏的渲染资源完成的,系统层面不存在任何可疑的覆盖窗口。

绘制与游戏一体:从图形驱动和操作系统的角度看,这些方框和游戏本身的模型、UI没有任何区别,都是同一个来源的绘制指令。


方法二】:桌面合成劫持 - 使用 Desktop Duplication API 这是更现代、更隐蔽的外部绘制方法,完全不需要侵入游戏进程。


原理:Windows系统有一个“桌面窗口管理器”,它负责将所有窗口的最终图像合成到屏幕上。微软提供了Desktop Duplication API,允许程序以极低的延迟捕获整个屏幕(或某个特定显示器)的最终图像流。


过程:

外挂程序作为一个独立的进程运行。

它使用Desktop Duplication API直接访问桌面合成器最终输出的帧缓冲区。

外挂获取到这一帧的图像后,在内存中对其进行修改,比如在特定坐标画上方框。

然后,它再创建一个全屏覆盖的、无边框透明窗口(或者更高级的,使用硬件覆盖层)。 关键点:这个窗口只显示被修改过的、带有方框的那一帧图像,并且这个窗口是半透明的。

由于它覆盖了整个屏幕,且内容与桌面背景几乎完全一致(只多了几个方框),用户看起来就像是游戏画面被绘制了方框。


为什么能绕过检测:

进程隔离:外挂是一个完全独立的进程,不向游戏进程注入任何代码,因此游戏的反外挂系统根本无法检测到它的存在。

检测困难:游戏要检测这种方式非常困难,因为它需要判断“屏幕上显示的内容”是否被第三方修改过。这涉及到复杂的图像识别和比对,计算开销巨大且容易误判。


方法三】:内核模式绘制 这是最强大、最隐蔽,但也最危险(对系统稳定性而言)和最容易导致法律风险(对开发者而言)的方法。


原理:外挂以内核驱动的方式运行,拥有与操作系统同等级别的权限。


过程:

外挂驱动被加载到系统内核。

驱动可以直接操作显卡的硬件层,或者拦截、修改图形驱动(如NVIDIA/AMD驱动)与显卡之间的通信。

它可以在最底层的帧缓冲区中直接写入像素,或者修改传递给GPU的绘制命令。


为什么能绕过检测:

权限压制:反外挂系统通常运行在用户模式,权限远低于内核驱动。内核驱动可以隐藏自身、拦截反外挂系统的检测调用,甚至直接关闭反外挂进程。

深度隐藏:绘制行为发生在图形栈的最底层,完全绕过了所有高级API(如DirectX/OpenGL)。

2025-11-16 21:51
4
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
这个有点厉害
2025-11-18 11:07
0
雪    币: 226
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
1,注入到dwm里, 在dwm上绘图就不用窗口.
2,direct x 绘图可以跨进程绘制到别的进程的窗口, 原理见 : 5f2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6k6h3y4J5k6i4c8Q4x3X3g2U0L8s2g2T1i4K6u0r3x3U0l9J5x3q4)9J5c8U0l9#2i4K6u0r3x3e0u0Q4x3V1k6S2j5Y4g2K6K9h3&6Y4i4K6u0V1j5$3!0E0M7r3!0K6K9i4c8A6L8$3&6K6i4K6u0W2K9s2c8E0L8l9`.`.
2025-11-20 16:51
0
游客
登录 | 注册 方可回帖
返回