Собсно нужно создать 1. Дополнительный поток в драйвере 2. Дополнительный удаленный поток в чужом драйвере 3. Как-то написать самопальный Sleep Подскажите плз, что и как... Заранее сенкс ЗЫ: кому не лень, выложите файл winnt.h
3. NtDelayExecution 2. драйверы это и есть набор потоков, разделяющих одно АП. 1. PsCreateSystemThread
Если на Windows API будет Код (Text): Sleep(1000); то на уровне ядра делай так: Код (Text): LARGE_INTEGER iDelayInterval; iDelayInterval.QuadPart = -10000000; NtDelayExecution(FALSE, &iDelayInterval);
- это верно... А если так... Код (Text): __declspec(dllimport) NTSYSAPI NTSTATUS NTAPI NtDelayExecution(IN BOOLEAN Alertable, IN PLARGE_INTEGER DelayInterval); LARGE_INTEGER iDelayInterval; iDelayInterval.QuadPart = -10000000; NtDelayExecution(FALSE, &iDelayInterval);
sxd NtDelayExecution ВООБЩЕ не экспортируется ядром. И никакой прототип тут не поможет. Либо искать адрес вручную (гемор), либо вызвать через INT 2E, взяв номер сервиса из ntdll (еще больший гемор), либо просто использовать документированную KeDelayExecutionThread
Great только что откомпилировал и запустил - пашет на ура, могу и исходник и прогу залить если сомнения возникли ))))))))
Я не знаю про какое вы ядро, у меня в NTOSKRNL в экспорте кроме KeDelayExecutionThread нет ничего похожего. Скрин дать7