首页
社区
课程
招聘
[求助]被调试进程的句柄问题
发表于: 2007-10-4 00:26 7497

[求助]被调试进程的句柄问题

2007-10-4 00:26
7497
这两天,在研究怎么写调试器,刚才遇到这么个问题,希望各位大人赐教,谢谢!

一个进程被调试打开,在CREATE_PROCESS_DEBUG_EVENT事件的时候,能够得到被调试进程的HANDLE,假定为handle1,通过这个句柄可以读写这个进程空间

把被调试进程的主线程句柄传给ZwQueryInformationThread(ThreadBasicInformation)这个API,在ClientId里可以获得被调试进程的另一个句柄handle2

现在的问题是,为什么我在调试器里用handle2去读写被调试进程空间就失败,错误码是6(无效句柄)?

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

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 1746
活跃值: (287)
能力值: (RANK:450 )
在线值:
发帖
回帖
粉丝
2
问题解决了

真晕,上面的handle2是pid,OpenProcess一次就可以读写被调试进程空间了
2007-10-4 00:52
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
3
ProcessId和ProcessHandle是不同的概念
2007-10-4 00:56
0
雪    币: 209
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
楼主把HANDLE和ID搞混了吧...
PID跟HANDLE是不同的, 任务管理器和IS是看不到Handle的, 所以你发现了被调试进程的pid不是这个handle1

ThreadBasicInformation返回的ClientId是进程id和线程id, 不是他们的句柄, 所以你用它们读写被调试进程空间就失败了, 所以错误码是6
2007-10-4 00:58
0
雪    币: 209
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
太强了, 长夜漫漫无心睡眠, 我以为只有我睡不着, 没想到ccfer大侠你也睡不着...

缘分啊缘分..
2007-10-4 01:00
0
雪    币: 226
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
太强了, 长夜漫漫无心睡眠, 我以为只有我睡不着, 没想到刀客MM你 也睡不着啊。
2007-10-4 01:06
0
雪    币: 1746
活跃值: (287)
能力值: (RANK:450 )
在线值:
发帖
回帖
粉丝
7
我是把它当HANDLE用了,所以就无效句柄了
2007-10-4 01:06
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
8
太强了, 长夜漫漫无心睡眠, 我此时的心已经飞进了小肥羊火锅店
2007-10-4 01:11
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
9
我确定我就是那一只批着羊皮的狼,等着七个羔羊来切片炖汤

如果要用DEBUG_EVENT的handle,就要关闭Createprocess handle
2007-10-4 01:18
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
漫漫无心睡眠夜真是太长了
2007-10-4 01:23
0
雪    币: 1946
活跃值: (248)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
11
我确定你就是我心中如花的肥羊。
2007-10-4 01:40
0
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我要看宰羊
2007-10-4 09:38
0
游客
登录 | 注册 方可回帖
返回
//