首页
社区
课程
招聘
[求助]hook NtUserBuildHwndList
发表于: 2020-12-4 07:32 6962

[求助]hook NtUserBuildHwndList

2020-12-4 07:32
6962

NtUserFindWindowEx
NtUserQueryWindow
NtUserBuildHwndList
NtUserGetForegroundWindow
NtUserWindowFromPoint

 

我Hook了这些函数,但是任务管理器依旧能看到,各个窗口探测的软件也能枚举出来
但是我自己用NtUserFindWindowEx FindWindow和GetWindow找不到,还有别的方法能遍历窗口?


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-12-4 14:56 被妮可编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 14
活跃值: (948)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

网上能找的方法都试了,我自己是查不出来...

最后于 2020-12-4 14:59 被妮可编辑 ,原因:
2020-12-4 08:47
0
雪    币: 14
活跃值: (948)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我发现是GetWindow防不住,单步步入根本没走内核...
2020-12-4 16:53
0
雪    币: 14
活跃值: (948)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我发现是GetWindow防不住,单步步入根本没走内核...
2020-12-4 16:53
0
雪    币: 215
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
ValidateHwnd
2020-12-9 00:15
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
从EPROCESS 反向找 ETHREAD ,再从ETHREAD 找到WIN32THREAD,WIN32THREAD本身是链表结构。可以遍历所有WIN32THREAD对象
2021-11-23 15:28
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
WIN32THREAD断链,会引起很多系统管理问题。
2021-11-23 15:29
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
所以问题是,你隐藏的目的是什么。
如果你的进程被人跟踪了。那么你在其他进程中创建一个线程,并且创建win32thread对象。
你自己线程中通过系统函数 类似 attachprocess之类的函数,可以与上面那个线程共享win32thread对象。
另外win32thread不是你意义上的thread的,他就是个系统管理用的结构体(对象),其核心是windows实现用户消息,内核消息(这个名词是我自己取的)。实现原理是win32thread中的PQ队列和内核消息队列,两个队列的元素结构 一个是 tagmsg 一个是 tagsmsmsg(或许吧,我经常不记得名字).实现机制三环的一套,0环的是用event(线程等待 KPCR里面 wait_block)。
2021-11-23 15:36
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
窗口对象 win32thread对象 消息对象,都是windows穿透 process thread 既统一又独立的管理体系。必要时,windows通过一套算法,可以准确销毁和某个thread 相关的这些对象(比如线程结束时)。在某些时刻,又可以通过对象引用计数,使得thread销毁时,不销毁某些对象(而是引用计数-1)。
所以,隐藏保护,最终目的,不是对方找不到你,而是对方不知道你是谁。
2021-11-23 15:42
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
帮你找了些关键词,便于你学习搜索 NtUserAttachThreadInput 共享消息队列(你自己去求证,共享的是PQ队列,sms消息也被共享了,具体实现,是不是直接改的kthread里面的 win32thread成员)
另外窗口是为信息机制服务的。windows只是给了你一整套API,帮助你实现窗口管理。
QT程序之所以,你只能找到顶层窗口,子窗口控件,你用现在窗口搜索软件都无法获取的原因是
QT是自己一套实现的代码,并没有走windows那一套,所以QT只需要一个顶层窗口和系统对接,获取硬件资源和系统资源的调用就行了,内部,他自己管理。
2021-11-23 15:56
0
游客
登录 | 注册 方可回帖
返回
//