首页
社区
课程
招聘
[讨论]关于我跟 dwm-screen-shot 这个老六DWM截图工具死磕这几天的血泪史
发表于: 14小时前 352

[讨论]关于我跟 dwm-screen-shot 这个老六DWM截图工具死磕这几天的血泪史

14小时前
352

最近一直在折腾 DWM 注入,看着方框丝滑地贴在屏幕上,原本心情大好。直到我遇到了 GitHub 上那个开源的 dwm-screen-shot……

我勒个去,我以为我的 DWM 注入已经够底层了,结果点一下它的“测试截图”,我的透视方框被截得一清二楚!底裤都被看穿了。

为了绕过这玩意儿,我这几天头都快秃了。期间走了无数弯路,甚至怀疑人生,不过好在最后还是让我把这玩意儿彻底按在地上摩擦了。今天有空,给大家复盘一下这个蛋疼的逆向过程,权当避坑指南了。


一开始,我看过别人发的一篇文章,说这工具 Hook 了啥 PresentGetBuffer,最后那哥们无奈只能返回一张静态图片(比如 C:\1.png)。


我当时一想返回静态图太 low 了吧?别人一截图发现画面是死的,这不直接封号吗?


我想了个“高级”的招数:任何截图工具想拿像素,肯定要调 D3D11 的 CopyResource 或者映射显存的 Map 函数对吧? 那好办啊!我在 DWM 里每一帧画方框前,先备份一张“干干净净”的桌面底图。然后我把 d3d11.dll 的虚表(VTable)给 Hook 了,只要发现有工具试图调用 CopyResource 或者 Map 拷贝全屏画面,我就狸猫换太子,把那张干净的底图塞给它。

写完代码,注入,运行! 欸,您猜怎么着?根本没卵用! 截图工具依然稳稳地截到了我的透视框!

嘶~ 为什么?后来我把 dwm-screen-shot 的源码和 Payload 扒光了才发现:小丑竟是我自己。 人家根本不走 d3d11.dll 这套用户态的常规 API!人家通过 PDB 符号,直接在 dwmcore.dll 内部找了一个未公开的底层核武器函数 —— TakeDxgiCapture,直接把包含显存指针的底层结构体给端走了!我守在 D3D11 的大门前,人家早就从后门翻墙跑了……


既然拦不住你读取,那我就打时间差!我不信邪了。

我搞了一套汇编操作:在 DWM 执行 MultiplanePresent 把画面发给显示器之后,我强行劫持了返回地址!让代码不回 DWM,而是跳到我的“擦除器”里。在 1 微秒的时间内,我瞬间用干净桌面把 BackBuffer(后备缓冲)里的 ESP 像素全给擦了,还顺手调了个 Flush() 强迫显卡立刻执行。


[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

最后于 14小时前 被小杰send编辑 ,原因:
收藏
免费 29
支持
分享
最新回复 (12)
雪    币: 0
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
6666
14小时前
0
雪    币: 178
活跃值: (3271)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
6
14小时前
0
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
所以说兜兜转转还是回到了本质的HV驱动下Trap?
13小时前
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
1111
13小时前
0
雪    币: 4774
活跃值: (4580)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
1111
12小时前
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
ggdfhjkhgj
9小时前
0
雪    币: 3181
活跃值: (3417)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
权限高就是好啊
9小时前
0
雪    币: 241
活跃值: (178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看看解决方案
9小时前
0
雪    币: 271
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
学习学习
6小时前
0
雪    币: 0
活跃值: (908)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
4小时前
0
雪    币: 88
活跃值: (1674)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
哈哈哈哈哈
3小时前
0
雪    币: 292
活跃值: (1457)
能力值: ( LV3,RANK:29 )
在线值:
发帖
回帖
粉丝
13
111111111111
2小时前
0
游客
登录 | 注册 方可回帖
返回