首页
社区
课程
招聘
[旧帖] 如何挂起(暂停)指定的线程? 0.00雪花
发表于: 2010-9-1 17:47 7087

[旧帖] 如何挂起(暂停)指定的线程? 0.00雪花

2010-9-1 17:47
7087
如何挂起(暂停)指定的线程?
比如说挂起QQ的某个线程 要如何做到 用什么语言能做到
具体代码要怎么写呢?

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
枚举线程
hThreadSnap   =   CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,   dwID);
Thread32First(hThreadSnap,   &ThreadEntry32);
Thread32Next(hThreadSnap,   &ThreadEntry32);

然后调用函数
SuspendThread(n)

n 为指定的线程ID
2010-9-1 19:14
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我确实不知道
但是也想了想 是不是要先注入到QQ里边一个进程 然后用注入的进程挂起目标线程

因为远程进程是无法挂起远程线程的 所以必须注入
VirtualAllocEx  这个函数用来在目标进程中申请一块内存
WriteProcessMemory 这个函数用来写入代码
CreateRemoteThread 这个函数用来开始注入线程

就是这三个部奏了  一般的程序都可以被注入 但是qq也不是吃素的,它应该有一个驱动保护 防止注入
呵呵 所以说有点难度
2010-9-1 19:22
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

这个也行??????
好像是不行吧 线程句柄只在进程内部能用吧??????????????????????????????????
2010-9-1 19:25
0
雪    币: 194
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
高手 你 用的是什么语言内
2010-9-2 12:09
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
U need OpenThread
2010-9-2 14:04
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
7
线程句柄在不同的进程中是不同的。句柄是进程相关的。
可以使用Toolhelp相关函数枚举系统中的线程列表,一旦找到和进程中对应的你需要的那支线程ID,使用OpenThread打开线程获得句柄,使用SuspendThread(HANDLE hThread);挂起。
我没有试过,自己试一下。
2010-9-2 15:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
NTDLL.dll里有两个函数:
NtSuspendProcess(HANDLE hProcess);
NtResumeProcess(HANDLE hProcess);
注意参数为进程句柄。
2010-9-2 17:50
0
游客
登录 | 注册 方可回帖
返回
//