9

NtCreateProcess和 和有什么不一样ZwCreateProcess?在ntdll.dll中,两者都NtCreateProcess指向ZwCreateProcess完全相同的地址

4

2 回答 2

12

在用户模式下,Nt 和 Zw API 组是相同的。在内核模式下,它们是不同的。Nt API 包含实际的实现。Zw API 使用系统调用机制并确保它在内核模式下调用,并且如果参数包含用户模式地址,则无需检查参数。否则,您可以在用户模式下使用带有内核参数的 API,这并不好。所以它只是一个安全机制。

于 2011-01-21T17:15:30.120 回答
2

除了已经给出的答案(我不想鹦鹉学舌),我认为最好的答案可以在 OSR Online 上找到:这里

或者,您可以阅读有关本机 API 的书籍,例如 Gary Nebbett 的一本名为“Windows NT/2000 Native API Reference”的书,他在这个问题上花了一些篇幅,或者您可以使用 WinDbg(发音为“wind-bag” ) 你自己。

于 2012-04-16T20:53:47.393 回答