首页 文章

Windows XP:我的程序是否以内核模式运行?

提问于
浏览
2

我目前正在了解Windows操作系统运行的不同模式(内核模式与用户模式),设备驱动程序,各自的优缺点以及计算机安全性 .

我想创建一个实际示例,说明在内核模式下运行的故障设备驱动程序可以对系统做什么,例如破坏用于关键OS进程的内存 .

  • 如何直接在内核模式而不是用户模式下执行代码?

  • 我是否必须编写虚拟设备驱动程序并安装它才能执行此操作?

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

I know the dangers of this and will do all of the experiments on a virtual machine running Windows XP only

3 回答

  • 3

    关于这个话题,“Windows Internals”一书的内容相当浅薄 .

    首先我要注意,任何程序也都以内核模式(KM)运行 . 这是因为 - 与unixoid系统不同 - 对于系统调用,调用线程转换为KM,其中内核本身或其中一个驱动程序为请求提供服务,然后返回到用户模式(UM) .

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

    • Windows NT设备驱动程序开发 - 虽然是旧 Headers ,但许多基础知识仍然适用 .

    • 编程Windows驱动程序模型(由Oney编写) - 特别是WDM编程,也涵盖了基础知识,有一些错误(与大多数书籍一样) .

    • 未记载的Windows 2000 Secrets(由Schreiber提供) - 包含大量有关各种内部信息的信息,其技术水平比前面提到的更为出色 .

    • 未记录的Windows NT - 在技术层面上包含关于内部的更通用的部分,后面是一些本机API函数的引用 .

    • Windows NT / 2000 Native API - 经典,但它更像是一个参考 . 然而,其中有几个宝石(和例子) .

    由于您要使用Windows XP,因此在rootkit.com上描述的许多技术(甚至几年前)都应该有效 . 他们也有大量的样品 .

    当你注意到引用网站的名称时,你实际上就是我称之为灰色区域的那个问题;)

  • 0

    这是一个简单的答案,正如您所怀疑的那样,您需要编写设备驱动程序才能在内核模式下运行 . 我担心我不知道内核模式编程的特别好的参考,但快速的网络搜索显示:

  • 0

    您需要对Windows Internals有一个很好的理解:

    http://technet.microsoft.com/en-us/sysinternals

    是的,他们有一本书:Windows Internals

    http://technet.microsoft.com/en-us/sysinternals/bb963901

    http://www.amazon.com/Windows%C2%AE-Internals-Including-Windows-PRO-Developer/dp/0735625301

    基本上你的问题都在本书中得到了解答(它甚至还带有样品和动手实验室) .

相关问题