-
-
[求助]一个小问题,不知道是哪里的问题,求助。
-
发表于:
2018-5-9 17:13
3154
-
第一步,我用PsLookupProcessByProcessId得到进程的EPROCESS
第二步,我向这个进程内所有的线程都插入的APC,在APC内获得Cr3并且与EPROCESS中的Cr3进行比对
第三步,循环结束,我根据获取到的多个Cr3进行判断,如没有TrueCr3,赋值EPROCESS中的Cr3给TrueCr3
理论上,如果在APC通过判断得到的TrueCr3是已经被赋值了,那循环过后的判断应该就无法成功才对(也就是不会使用默认Cr3),但是结果出人意料
TrueCr3在APC内的确被赋值了,但是循环结束后,他就匪夷所思的变成0了,然后就使用了默认的EPROCESS中的Cr3,APC内赋值后,到了外面就变成0了,他是怎么变的?求解!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!