Windows XP:让我的程序在内核模式下运行吗?

Windows XP:让我的程序在内核模式下运行吗?,windows,windows-xp,protected-mode,kernel-mode,Windows,Windows Xp,Protected Mode,Kernel Mode,我目前正在学习Windows操作系统运行的不同模式(内核模式与用户模式)、设备驱动程序、它们各自的优缺点以及一般的计算机安全性 我想创建一个实际的例子,说明在内核模式下运行的故障设备驱动程序会对系统造成什么影响,例如破坏用于关键操作系统进程的内存 如何直接在内核模式而不是用户模式下执行代码 我是否必须编写一个虚拟设备驱动程序并安装它来执行此操作 在哪里可以阅读更多关于Windows内核和用户模式的信息 我知道这样做的危险性,并将在仅运行Windows XP的虚拟机上进行所有实验这是一个简单的

我目前正在学习Windows操作系统运行的不同模式(内核模式与用户模式)、设备驱动程序、它们各自的优缺点以及一般的计算机安全性

我想创建一个实际的例子,说明在内核模式下运行的故障设备驱动程序会对系统造成什么影响,例如破坏用于关键操作系统进程的内存

  • 如何直接在内核模式而不是用户模式下执行代码
  • 我是否必须编写一个虚拟设备驱动程序并安装它来执行此操作

  • 在哪里可以阅读更多关于Windows内核和用户模式的信息


我知道这样做的危险性,并将在仅运行Windows XP的虚拟机上进行所有实验

这是一个简单的答案,正如您所怀疑的,您确实需要编写设备驱动程序才能在内核模式下运行。恐怕我不知道内核模式编程有什么特别好的参考资料,但一个快速的Web搜索显示:


您需要充分了解Windows内部结构:

是的,他们有一本书:WindowsInternals

基本上,你的问题都在这本书中得到了回答(甚至还附带了一些示例和实践实验室)。

这本“Windows内部构件”的书在这个问题上相当肤浅

首先,我应该注意到,任何程序也在内核模式(KM)下运行。这是由于这样一个事实——与unixoid系统不同——for系统调用调用线程过渡到KM,内核本身或其中一个驱动程序服务于请求,然后返回到用户模式(UM)

入门的第一步是下载最新的Windows驱动程序工具包(WDK)并开始阅读文档。如果你想要一本更具消化力的书,可以选择以下其中一本:

  • Windows NT设备驱动程序开发-虽然是一个旧标题,但许多基础知识仍然适用
  • 编程Windows驱动程序模型(由Oney编写)-特别是WDM编程,也涵盖了基础知识,但有一些错误(与大多数书籍一样)
  • 未记录的Windows 2000机密(由Schreiber编写)-包含大量关于各种内部结构的信息,比前面提到的书更具技术性
  • 未记录的Windows NT-包含一个关于技术级别的内部构件的更一般的部分,后面是一些本机API函数的引用
  • WindowsNT/2000本机API-经典,但更多的是参考。尽管如此,书中还是有一些珍宝(和例子)
  • 由于您想使用Windows XP,在rootkit.com上介绍的许多技术(甚至是几年前的技术)都应该可以使用。他们还得到了大量的样品

    正如你所注意到的,通过被引用网站的名称,你实际上处于我所说的灰色地带