-
-
[旧帖]
KiFastCallEntry的一点不解
0.00雪花
-
发表于:
2012-2-21 22:11
4435
-
[旧帖] KiFastCallEntry的一点不解
0.00雪花
在KiFastCallEntry开始处构造了一个KTRAP_FRAME,iretd返回时发现代码如下:
804df36c 83c404 add esp,4 ; 指向KTRAP_FRAME.Eip
804df36f cf iretd ; pop KTRAP_FRAME.Eip, KTRAP_FRAME.SegCs, KTRAP_FRAME.EFlags
iretd后会到下面
ntdll!KiFastSystemCallRet:
7c92e514 c3 ret ; 与call dword ptr [edx]相对应
不解这中间内核栈是如何切换到用户栈了,查了资料没说iretd会pop出 KTRAP_FRAME.HardwareSegSs和KTRAP_FRAME.HardwareEsp,因此KiFastSystemCallRet的ret怎么会在用户栈了呢?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)