Доброго времени суток.
Пишу драйвер, который должен работать на WinXP SP2 не зависимо от того, какие обновления установлены на сам SP2. Желательно чтобы он также работал на WinXP SP0 и WinXP SP1.
Сам драйвер должен при запуске каждого процесса в системе сначала проверять наличие етого процесса, в том числе и откуда именно он запускается, в текстовом файле. Текстовый файл C:\needrun.txt имеет следующий формат:
При наличии процесса, что запускается, в текстовом файле, етот процесс нужно запустить под указаным пользователем. Имена пользователей и их пароли известны.
Если же процесс, что запускается, отсутствует в текстовом файле, никакие действия не предпринимаются.
Для реализации такой функциональности драйвера он сначала при запуске каждого процесса проверяет его наличие в текстовом файле. Если он существует, то драйвер убивает процесс. После етого убитый процесс нужно запустить из драйвера от имени указанного пользователя.
Отслеживать и убивать нужные процессы получается.
Как запускать нужные процессы из режима ядра под именем указанного пользователя?
Искал и читал статьи. Но там сам запуск процесса очень зависим от версии обновления системных файлов Windows. К тому же имперсонация возможна только из пользовательского режима.
Хотел бы подробнее почитать про возможность подобного запуска процесса. Желательно с рабочими исходниками, где ето можно посмотреть.
Зарание благодарен за ответ.