首页
社区
课程
招聘
[求助]TEB
发表于: 2015-7-1 03:37 4214

[求助]TEB

2015-7-1 03:37
4214

每条线程都有自己的TEB地址 ,我现在想学XUETR 检举这样子的怎么搞.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 78
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
同问,怎么搞。
2015-7-1 08:19
0
雪    币: 116
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ETHREAD结构里面有
2015-7-1 08:43
0
雪    币: 1040
活跃值: (1293)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
ethread->ThreadListEntry用来遍历线程吧,然后kthread里面+0x088 就是Teb吧(WIN7),+0x150 就是EProcess的地址吧……应该是这么取的
2015-7-1 08:47
0
雪    币: 294
活跃值: (119)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
int CBaseInfo::GetThreadTebAddr(THREAD_INFO &stcThreadInfo)
{
	THREAD_BASIC_INFORMATION info = { 0 };

	NTQUERYINFORMATIONTHREAD NtQueryInformationThread = NULL;
	NtQueryInformationThread = (NTQUERYINFORMATIONTHREAD)
		GetProcAddress(LoadLibrary(_T("ntdll.dll")), "ZwQueryInformationThread");

	if (!NtQueryInformationThread)
	{
		return 0;
	}

	HANDLE ThreadHandle = NULL;
	ThreadHandle = OpenThread(THREAD_QUERY_INFORMATION, FALSE, (DWORD)stcThreadInfo.ClientId.UniqueThread);

	if (!ThreadHandle)
	{
		return 0;
	}

	DWORD dwReturnLength = 0;
	if (NtQueryInformationThread(ThreadHandle, ThreadBasicInformation,
		&info, sizeof(info), &dwReturnLength))
	{

		return 0;
	}
	stcThreadInfo.Teb = info.TebBaseAddress;
	return 0;
}



不知道是不是你说的~
2015-7-1 10:05
0
雪    币: 2291
活跃值: (938)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
如果只是想获取TEB地址,用CreateToolhelpSnapshot枚举指定进程的所有线程ID,然后按楼上这样依次读取TEB地址就可以了。
2015-7-1 10:46
0
雪    币: 8188
活跃值: (2857)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7
pcas.exe,目测楼主要日了支付宝。
2015-7-1 14:03
0
雪    币: 219
活跃值: (788)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
8
谢了~ ~
2015-7-3 22:51
0
游客
登录 | 注册 方可回帖
返回
//