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

[求助]DrvierEntry和APC的疑问

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

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

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

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

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