首页
社区
课程
招聘
[求助]DrvierEntry和APC的疑问
发表于: 2009-6-21 19:14 5404

[求助]DrvierEntry和APC的疑问

2009-6-21 19:14
5404
最近看书遇到了很多问题不解,哪位兄弟姐妹帮帮我吗?
1,自己加载的驱动的DiverEntry()函数是在system进程空间中执行的,能通过什么方法使它在本进程空间执行?(能不能)

2,是关于用户APC函数的执行过程。毛老师说是在系统调用,中断处理程序,异常处理程序回到用户空间的前夕处理时。但是有人是这样做的,假设我们想向explorer进程的一个线程插入APC,则要在内核枚举它所有的线程,找到ETHREAD.Alertable为TURE的线程插入,这样插入的用户APC才能得到执行。还有就是找当前正在调用等待内核对象的阻塞线程插入也行。我不是很理解啊?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
ZwSetSystemInformation方式加载的驱动就是在调用者的进程空间执行的~
2009-6-21 21:50
0
雪    币: 220
活跃值: (721)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ZwSetSystemInformation方式现在还能加载驱动?
2009-6-21 22:09
0
雪    币: 252
活跃值: (13)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
谢谢教 主,肯定能加载驱动啊,还有APC的问题啊。哪位帮帮忙啊
2009-6-21 23:51
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
5
apc分发分normal routine,kernel routine和rundownroutine
一般normal routine在R3靠apc dispatcher分发
kernel routine XP等系统上主要在kisystemservice退出前,swapthread时等 靠KiDeliverApc分发,VISTA之后的系统上很多函数调用都有KiCheckForKernelApcDelivery~在此时分发,这样更及时~
rundown routine则在线程退出即PspExitThread时调用~

具体细节还有很多~看源码就可以了~
2009-6-22 02:02
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
6
MJ同学的回答很到位~~
2009-6-22 08:47
0
雪    币: 252
活跃值: (13)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
谢谢MJ和大米,我看看代码再说
2009-6-22 21:32
0
游客
登录 | 注册 方可回帖
返回
//