首页
社区
课程
招聘
[求助]内核apc插到32位进程无法执行
发表于: 2021-6-19 03:22 10545

[求助]内核apc插到32位进程无法执行

2021-6-19 03:22
10545


64进程测试没问题,32进程KerneRoutine都不执行,但是r3回调地址NULL后就能执行KerneRoutine

(地址*(-4)) 这样子转换过了的

论坛翻遍了别人的代码,都一样的参数,我测试就是不行....


[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费 2
支持
分享
赞赏记录
参与人
雪币
留言
时间
一路南寻
看雪因你而更加精彩!
2024-8-20 01:22
嫉妒的死远点
为你点赞!
2024-7-27 04:37
最新回复 (6)
雪    币: 14
活跃值: (1013)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
知道是alertable=0的问题了.按照以前@库尔说的方法.同时插2条APC,先插用户模式,再插内核模式
内核模式回调里KeTestAlertThread( UserMode),确实可以执行了,但是秒蓝,只能看到windbg输出,第二条Apc改成用户模式也是蓝屏,蓝屏信息是DRIVER IRQL NOT LESS OR EQUAL,实在不知道怎么解决了
只能曲线救国,枚举线程的时候判断state和alertable,但是实在是不想用硬编码
2021-6-19 07:44
0
雪    币: 81
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
mark 我APC也是出这个蓝屏
2021-6-20 16:08
0
雪    币: 14
活跃值: (1013)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
mb_aopnnvxb mark 我APC也是出这个蓝屏
直接找有条件的线程插吧,然后插2条apc就可以立刻执行了
2021-6-20 23:16
0
雪    币: 3536
活跃值: (4433)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
大概率是堆栈没处理好的问题,要知道kernelruntine,normalruntine这两个成员所指的函数都不是你自己调用的,而是KiDeliverApc调用的,参数个数,有没有返回值都不是你能控制的
2021-8-1 12:46
0
雪    币: 20
活跃值: (231)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
KerneRoutine都不执行可能是因为你插入的线程没有执行UserMode APC的条件,如果你把NormalRoutine设置为NULL就可以执行了是因为NormalRoutine是NULL的情况下,APC默认是特殊的KernelMode APC所以他一定有执行的机会。UserMode的需要触发条件。
2021-8-2 11:22
0
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
求交流 能否加个好友 恰个Q或者V也行
2021-9-30 15:25
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册