能力值:
( LV2,RANK:10 )
|
-
-
2 楼
大大们在哪里...
|
能力值:
( LV9,RANK:380 )
|
-
-
3 楼
如果楼主懂内核下, Nt* 系列函数和 Zw*系列函数的区别,这个问题就迎刃而解了。。
PS:(PUCHAR)MmGetSystemRoutineAddress(&strFuncName) 如果得到的是NULL,必蓝。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
在NTDLl里Zw和Nt是一样的,指到同一地址.
内核里不同, SSDT里是NtXxx, Zw和NTDLL的Zw差不多, 你那段代码就是取调用号, Zw才有相应的代码
Zw版本执行时,又会到KiFastCallEntry转一圈,最后执行Nt版本。这么做的目的是在栈上构造KTRAP_FRAME,
此时其PreviousMode会是KernelMode (若为UserMode时NtXxx会Probe参数)
你自己翻翻WRK好了。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢回答~好像明白了~
|
|
|