Поделиться через


Обнаружение обратных вызовов Kernel-Mode

Большая часть кода операционной системы Windows выполняется в режиме ядра. Режим процессора переключается с пользовательского режима на режим ядра всякий раз, когда поток приложения вызывает функцию из API Windows, которая, в свою очередь, вызывает внутреннюю системную функцию, которая должна выполняться в режиме ядра. Режим процессора возвращается в пользовательский режим перед передачей управления обратно в функцию, так чтобы системные данные были защищены.

Если поток ожидает завершения обратного вызова в режиме ядра, на пользовательской стороне потока произойдет задержка при вызове функции ZwCallbackReturn.