首页
社区
课程
招聘
[求助]已知一个线程的句柄如何获取它所属的进程的句柄?
发表于: 2008-7-24 11:34 5598

[求助]已知一个线程的句柄如何获取它所属的进程的句柄?

2008-7-24 11:34
5598
【求助】已知一个线程的句柄如何获取它所属的进程的ID?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0)
试试
2008-7-24 12:26
0
雪    币: 220
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那个只返回ID,而我现在就只有一个本进程打开的该线程的句柄,句柄只在本进程有效,所以CreateToolhelp32Snapshot似乎没什么用,server 2003有个GetThreadId,但是这之前的版本没有这个函数
2008-7-24 17:09
0
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
DWORD WINAPI GetProcessIdOfThread(
  __in          HANDLE Thread
);

Thread
[in] Handle to the thread. The handle must have the THREAD_QUERY_INFORMATION access right.

Client
Requires Windows Vista.

Server
Requires Windows Server 2008 or Windows Server 2003.

Header
Declared in Winbase.h; include Windows.h.

Library
Use Kernel32.lib.

DLL
Requires Kernel32.dll.

可能对你没有用
不过你可以找个2003的kernel32.dll逆向一下这个函数,看看是怎么实现的
2008-7-24 18:09
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
NtQueryInformationThread

ThreadBasicInformation

typedef struct _THREAD_BASIC_INFORMATION {
  NTSTATUS                ExitStatus;
  PVOID                   TebBaseAddress;
  CLIENT_ID               ClientId;  //这个
  KAFFINITY               AffinityMask;
  KPRIORITY               Priority;
  KPRIORITY               BasePriority;
} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
2008-7-24 22:16
0
雪    币: 220
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢各位 解决了
2008-7-26 12:49
0
游客
登录 | 注册 方可回帖
返回
//