首页
社区
课程
招聘
[讨论]Kernel Detective.exe 中枚举SYSTEM线程是怎么实现的?
发表于: 2009-2-7 21:21 6462

[讨论]Kernel Detective.exe 中枚举SYSTEM线程是怎么实现的?

2009-2-7 21:21
6462
【讨论】Kernel Detective.exe 中枚举SYSTEM线程是怎么实现的?
请大牛们指教?
枚举得到SYSTEM进程的线程后,怎么才能得到线程的StartAddress?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 240
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
找到了,KTHREAD里面有一个链表结构,可以找到所有线程,

而这个结构,可以从EPROCESS结构中得到

但,有没有什么函数可以实现这一系列功能?

直接从KTHREAD中取出信息来,不同的系统,偏移不一样,很麻烦,

所以我想知道用什么函数可以实现这一功能/可以枚举出SYSTEM线程,

还有就是,线程的入口点地址,是不是KTHREAD结构中的SListFaultAddress?

我没有相关文档,所以,无从下手,

....找到了,PsGetNextProcessThread这个函数可以实现,但这个函数没有导出,麻烦哟
2009-2-7 21:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Hi,

You can use NtQuerySystemInformation - with InformationClass = SystemProcessAndThreadInformation - to enumerate every non-hidden processes and their own threads .

But the returned thread structures will not contain the KTHREAD pointer, you can still get the KTHREAD pointer by invoking PsLookupThreadByThreadId with the thread Id .

Of course i did NOT use this method in KernelDetective .

cheers,
--GM
2009-2-8 03:58
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
NaX
4
wrk、windbg+pdb 就是最好的文档
2009-2-8 11:16
0
游客
登录 | 注册 方可回帖
返回