我目前正在了解Windows操作系统运行的不同模式(内核模式与用户模式),设备驱动程序,各自的优缺点以及计算机安全性。
我想创建一个实际示例,说明在内核模式下运行的故障设备驱动程序可以对系统做什么,例如破坏用于关键OS进程的内存。
我是否必须编写虚拟设备驱动程序并安装它才能执行此操作?
我在哪里可以阅读有关Windows内核和用户模式的更多信息?
我知道这样做的危险,并且只会在运行Windows XP的虚拟机上进行所有实验
答案 0 :(得分:3)
“Windows Internals”一书中涉及的主题相当浅薄。
首先我要注意,任何程序也在内核模式(KM)下运行。这是因为 - 与unixoid系统不同 - 对于系统调用,调用线程转换为KM,其中内核本身或其中一个驱动程序为请求提供服务,然后返回用户模式(UM)。
入门的第一步是下载最新的Windows驱动程序工具包(WDK)并开始阅读文档。如果你想要一本更消化的书,请选择其中一种:
由于您要使用Windows XP,因此在rootkit.com上描述的许多技术(即使是几年前)也应该有效。他们也有很多样品。
正如您在引用网站的名称中所注意到的那样,您实际上就是我称之为灰色区域的问题;)
答案 1 :(得分:0)
这是一个简单的答案,正如您所怀疑的那样,您需要编写设备驱动程序才能在内核模式下运行。我担心我不知道内核模式编程的特别好的参考,但快速的网络搜索显示:
答案 2 :(得分: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
基本上你的问题都在本书中得到了解答(甚至还有样品和动手实验室)。