Windows XP:我的程序是否以内核模式运行?
我目前了解的Windows操作系统(内核模式与用户模式),设备驱动程序,它们各自的优点和缺点,在一般的电脑安全运行的不同模式。Windows XP:我的程序是否以内核模式运行?
我想创造的东西在内核模式下运行的故障的设备驱动程序可以做系统的一个实际的例子,通过使用操作系统的关键流程例如破坏内存。
- 如何直接在内核模式而不是用户模式下执行我的代码?
我必须写一个虚拟设备驱动程序并安装它做到这一点?
我在哪里可以在Windows阅读更多关于内核模式和用户模式?
我知道这样做的危险性,并会做所有的实验运行Windows XP的虚拟机上只有
这是一个简单的答案,因为你怀疑,你需要写一个设备驱动程序以便在内核模式下运行。我怕我不知道内核模式编程特别好的参考,但快速的网络搜索显示:
你将需要很好的了解Windows内部:
http://technet.microsoft.com/en-us/sysinternals
,是的,他们有一本书:Windows内部
http://technet.microsoft.com/en-us/sysinternals/bb963901
http://www.amazon.com/Windows%C2%AE-Internals-Including-Windows-PRO-Developer/dp/0735625301
基本上你的问题都在这本书回答(它甚至还带有样品和动手实验室)。
的“Windows内部”一书是在讨论的话题,而浅。
首先我应该注意,任何程序也运行在内核模式(KM)。这是由于以下事实 - 与unixoid系统不同 - 系统调用调用线程转换为KM,其中内核本身或其中一个驱动程序为请求提供服务,然后返回到用户模式(UM)。
开始的第一步是下载最新的Windows Driver Kit(WDK)并开始阅读文档。如果你想要一个更消化的书,去其中一个:
- Windows NT设备驱动程序开发 - 虽然是一个老的标题,许多基础仍然适用。
- 编程Windows驱动程序模型(由Oney编写) - 特别是WDM编程也涵盖了基础知识,有一些错误(如大多数书籍)。
- 未公开的Windows 2000秘密(由Schreiber提供) - 包含大量有关各种内部组件的信息,这些信息比以前提到的技术更具有技术性。
- 未记录的Windows NT - 在技术级别上包含有关内部的更通用的部分,后面是一些本机API函数的参考。
- Windows NT/2000 Native API - 经典,但它更多的是一个参考。尽管如此,它还是有几个宝石(和例子)。
由于您想使用Windows XP,因此在rootkit.com(甚至从几年前)描述的许多技术应该可以正常工作。他们也有大量的样本。
而且当你通过引用网站的名称注意到,你实际上是在我所说的那个问题的灰色区域;)