Windows 从驱动程序创建进程

Windows 从驱动程序创建进程,windows,kernel,driver,internals,Windows,Kernel,Driver,Internals,有没有办法在WindowsNT平台(XP-W7)上从内核模式创建用户模式进程 编辑:我必须只安装驱动程序。这是该项目的一个具体例子。我不知道更容易实现这一点的方法。但是,让Windows服务运行,从而在驱动程序中创建一个重叠的设备控制,怎么样?返回时,服务可以检查从驱动程序收到的数据,并启动相应的应用程序 这不能直接完成-创建win32进程需要CreateProcess的用户模式部分进行一些设置,而不仅仅是在内核模式下创建进程对象 您需要一些用户模式代码—服务、桌面应用程序等,才能启动您的用户模

有没有办法在WindowsNT平台(XP-W7)上从内核模式创建用户模式进程


编辑:我必须只安装驱动程序。这是该项目的一个具体例子。

我不知道更容易实现这一点的方法。但是,让Windows服务运行,从而在驱动程序中创建一个重叠的设备控制,怎么样?返回时,服务可以检查从驱动程序收到的数据,并启动相应的应用程序

这不能直接完成-创建win32进程需要CreateProcess的用户模式部分进行一些设置,而不仅仅是在内核模式下创建进程对象


您需要一些用户模式代码—服务、桌面应用程序等,才能启动您的用户模式应用程序。

要创建有效的win32进程,驱动程序必须与CSRSS通信(完全没有文档记录)。因此,我最终将一个用户模式APC排队,并在现有win32进程的上下文中为APC代码分配虚拟内存(该代码将调用CreateProcess并执行该任务)


这是一个棘手的方法,但它是有效的。

我认为这是正确的解决方案。从服务发出反向IRP,在需要用户模式进程开始时让驱动程序完成。感谢您的建议,但我无法运行我的服务(如果只从内核模式安装和启动服务)。@Sergius:您仍然必须安装驱动程序。您可以使用相同的INF文件安装服务。我正在考虑从驱动程序向某些用户进程注入一个带有我自己的用户模式代码的线程…请看。有趣的。。。