如何创建一个将在Windows内核级别运行的进程?

时间:2011-02-07 13:18:13

标签: c++ windows visual-c++ sdk

我想创建一个kernel level of process for windows (Ring 0),但我不知道从哪里开始。我想知道哪个SDK是必需的,任何显示其实现的教程都会有所帮助。

3 个答案:

答案 0 :(得分:6)

SDK是Windows Driver Kit和文档here。作为对您的问题的更正,在内核模式下,您无法使用进程,因为内核模式驱动程序作为操作系统执行程序的一部分运行。您可以创建内核线程。

答案 1 :(得分:2)

您与how to create a process which is not visible in task manager or services list

一起提出此问题

创建内核模式解决方案将是如此多的开销,以实现您想要的,它实际上不是解决方案。创建驱动程序替代典型的用户模式桌面应用程序并不像听起来那么直截了当。

你应该:

  1. 使用Windows安全性限制用户
  2. 将您的应用程序写为服务(这甚至不是一个好的解决方案,因为管理员可以阻止它并且它看到'活动'与桌面应用程序不同的级别)
  3. 做一些防止关闭的基本技巧,例如两个相互观察并保持彼此活着的哨兵进程。

答案 2 :(得分:0)

您可以按照Shinnok的指示创建系统线程。 Windows没有适合您尝试的设施。