恋爱的犀牛 发表于 2017-6-1 13:33:25

ZW与NT函数区别

区别:
Ntdll.dll中:完全一样
Ntoskrnl.exe中:
Zw*nt*,即nt函数更底层
Zw*函数会把PreviousMode设置为KernelMode 然后再调用Nt*函数,因此在Nt*函数中就不会进行参数检查。而如果直接调用Nt*函数的话 , 必须自己将PreviousMode设置为KernelMode,否则PreviousMode很可能仍然是UserMode, 这样的话 Nt*函数就会认为对它的调用来自用户态,从而做一些检查,这时就会产生问题了.
因此要自己调用Nt*的话必须先将PreviousMode设为KernelMode
页: [1]
查看完整版本: ZW与NT函数区别