Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
NtCreateProcess和 和有什么不一样ZwCreateProcess?在ntdll.dll中,两者都NtCreateProcess指向ZwCreateProcess完全相同的地址
NtCreateProcess
ZwCreateProcess
在用户模式下,Nt 和 Zw API 组是相同的。在内核模式下,它们是不同的。Nt API 包含实际的实现。Zw API 使用系统调用机制并确保它在内核模式下调用,并且如果参数包含用户模式地址,则无需检查参数。否则,您可以在用户模式下使用带有内核参数的 API,这并不好。所以它只是一个安全机制。
除了已经给出的答案(我不想鹦鹉学舌),我认为最好的答案可以在 OSR Online 上找到:这里。
或者,您可以阅读有关本机 API 的书籍,例如 Gary Nebbett 的一本名为“Windows NT/2000 Native API Reference”的书,他在这个问题上花了一些篇幅,或者您可以使用 WinDbg(发音为“wind-bag” ) 你自己。