Драйвер, запускающий процесы от имени указаного пользователя
От: Gradiz  
Дата: 01.07.07 10:12
Оценка:
Доброго времени суток.
Пишу драйвер, который должен работать на WinXP SP2 не зависимо от того, какие обновления установлены на сам SP2. Желательно чтобы он также работал на WinXP SP0 и WinXP SP1.
Сам драйвер должен при запуске каждого процесса в системе сначала проверять наличие етого процесса, в том числе и откуда именно он запускается, в текстовом файле. Текстовый файл C:\needrun.txt имеет следующий формат:

C:\WINDOWS\system32\calc.exe;user2;pass2
C:\WINDOWS\system32\notepad.exe;user3;pass3

При наличии процесса, что запускается, в текстовом файле, етот процесс нужно запустить под указаным пользователем. Имена пользователей и их пароли известны.
Если же процесс, что запускается, отсутствует в текстовом файле, никакие действия не предпринимаются.
Для реализации такой функциональности драйвера он сначала при запуске каждого процесса проверяет его наличие в текстовом файле. Если он существует, то драйвер убивает процесс. После етого убитый процесс нужно запустить из драйвера от имени указанного пользователя.
Отслеживать и убивать нужные процессы получается.
Как запускать нужные процессы из режима ядра под именем указанного пользователя?
Искал и читал статьи. Но там сам запуск процесса очень зависим от версии обновления системных файлов Windows. К тому же имперсонация возможна только из пользовательского режима.
Хотел бы подробнее почитать про возможность подобного запуска процесса. Желательно с рабочими исходниками, где ето можно посмотреть.
Зарание благодарен за ответ.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.