Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
gdi32.dll и user32.dll?Разница же состоит в том, что в функциях zw- не проводится валидация параметров. <...> Работает это так: если вызывается zw, то он загружает в EAX номер функции, в EDX ложит указатель на стек ядра, а потом вызывает nt- вариант, который не проводит валидацию.
For calls from a kernel-mode driver, the Nt and Zw versions of a routine differ in how they handle the parameter values that the caller passes to the routine.
A kernel-mode driver calls the Zw version of a native system services routine to inform the routine that the parameters come from a trusted, kernel-mode source. In this case, the routine assumes that it can safely use the parameters without first validating them. However, if the parameters might be from either a user-mode source or a kernel-mode source, the driver instead calls the Nt version of the routine, which determines, based on the history of the calling thread, whether the parameters originated in user mode or kernel mode.
Вызов функций Windows в режиме ядра