系统调用过函数kifastsystemcall后,在栈中会看到函数kifastsystemcallret,我原以为这个函数应包含sysexit指令,没想到却是ret指令。
lkd> u ntdll!kifastsystemcallretntdll!KiFastSystemCallRet:7c92eb94 c3 ret
Q:请问这是什么原因?谢谢!
Quote: ret是回到用户态的父函数
ret应该是回到用户态ntdll导出的函数, 对吗?
另外,请问指令sysexit是由什么函数调用?
可以看出指令sysenter是由系统的KiFastSystemCall函数的调用的,ntdll!KiFastSystemCall:7c92eb8b 8bd4 mov edx,esp7c92eb8d 0f34 sysenter
Q:指令sysexit是由系统的什么函数调用的?
ps.我试着在反汇编native api函数,但没有看到这个指令被调用。