gpt4 book ai didi

Windows : Have my program run in kernel mode?

转载 作者:可可西里 更新时间:2023-11-01 10:09:12 26 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

“Windows Internals”一书对所讨论的主题相当肤浅。

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

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

  1. Windows NT Device Driver Development - 虽然是个旧标题,但许多基础知识仍然适用。
  2. Programming the Windows Driver Model(Oney 着)- 特别是 WDM 编程,也涵盖基础知识,但有一些错误(与大多数书籍一样)。
  3. Undocumented Windows 2000 Secrets(Schreiber 着)- 包含大量关于各种内部结构的信息,其技术水平比前面提到的书更高。
  4. 未记录的 Windows NT - 包含有关技术层面内部结构的更通用部分,然后是一些 native API 函数的引用。
  5. Windows NT/2000 Native API - 经典,但更多的是引用。尽管如此,其中还是有一些精华(和示例)。

既然您想使用 Windows XP,那么 rootkit.com 上描述的许多技术(甚至是几年前的技术)都应该有效。他们还获得了大量样本。

正如您从所引用网站的名称中注意到的那样,您实际上正处在我称之为灰色地带的问题 ;)

关于 Windows : Have my program run in kernel mode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4672712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com