首页
社区
课程
招聘
[求助]如何切换处理器后保证返回到原处理器的host环境呢
发表于: 2016-3-7 23:01 3147

[求助]如何切换处理器后保证返回到原处理器的host环境呢

2016-3-7 23:01
3147
各位大牛好,

我的目的: 需要每个处理器都刷新自己的缓存,

步骤:  在HOST中通过KeSetAffinityThread进行切换处理器,进行刷新缓存,最后通过KeRevertToUserAffinityThread这个函数返回到原处理器中

结果:  调用 KeRevertToUserAffinityThread后,并不能恢复到原处理器当中,比如我此时处于双核当中,CPU0刷新缓存之后,切换处理器,到达CPU1中刷新缓存,因为之前是在CPU0的HOST环境中进行切换的,所以想通过 KeRevertToUserAffinityThread 这个函数返回到CPU0的HOST环境中,可是调用该函数后   仍然处于CPU1的环境中,无法恢复到原处理器的HOST环境,如果通过KeSetAffinityThread强行切换到CPU0,却只能切换到CPU0的Guest环境,无法继续执行CPU0的VT指令了

请问谁能给出解决办法麽

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 302
活跃值: (246)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
2
后来我准备在CPU0中对每个处理器插入,让这些DPC例程来执行刷新过程,我在DPC例程处下了个断点,却只能拦截CPU1在执行这个回调,而且能顺利从回调函数中返回,可是返回后,执行十几条指令就蓝屏了,很是郁闷
2016-3-7 23:05
0
游客
登录 | 注册 方可回帖
返回