如何在Windows 7(或Vista)中为我的进程获取响铃0操作模式?
答案 0 :(得分:16)
允许任意代码在ring 0中运行违反了基本的OS安全原则。
只有OS内核和设备驱动程序在环0中运行。如果要编写ring 0代码,请编写Windows设备驱动程序。 This可能会有所帮助。
某些安全漏洞可能允许您的代码在环0中运行,但这不可移植,因为可能会在补丁中修复漏洞:P
答案 1 :(得分:7)
从技术上讲,所有进程都有一些线程将一些时间花在内核模式(ring 0)上。每当用户模式进程向系统调用进入操作系统时,就会发生一个转换,其中线程通过“门”进入环0。每当进程需要与设备通信,分配更多进程范围内存或生成新线程时,系统调用就会要求操作系统提供此服务。
因此,如果你想让一个进程在ring 0中运行一些代码,你需要编写一个驱动程序,然后通过一些系统调用与这个驱动程序通信。最常见的系统调用称为ioctl(代表I / O控制)。
在Windows平台上要看的另一件事是UMDF(用户模式驱动程序框架)。这允许您以用户模式(在环3中运行)编写,调试和测试驱动程序,但系统中的其他驱动程序或其他进程仍可访问它。
答案 2 :(得分:2)
您无法从用户模式进程设置内核模式。这就是安全性的作用。