C ++ - 直接写入内存(内核)

时间:2011-10-09 14:31:14

标签: c++ windows memory kernel

之前我曾经问过同样的事情,但我的帖子因某种原因被删除了。

无论如何,我正在尝试使用C ++并编写一个程序,允许我直接访问内存并向其中写入内容。我听说我需要对内核做一些事情,因为这是连接操作系统和应用程序的“桥梁”(我认为)。无论如何我可以为内核下载一些sdk吗?

我在之前的帖子中说过(一段时间后删除了),之所以这样做是因为我想尝试让Windows 7崩溃,因为我的大学教授问我。 (所以请不要问我“你为什么要崩溃窗户?”或类似的东西......)

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

Write a driver,让它崩溃。当然,在非常具体的情况下,这实际上会使Windows 7崩溃(因为,与公众舆论不同,它不是由完全白痴写的)。

答案 1 :(得分:3)

如果您对使用内核感兴趣,那么您可能正在寻找Windows驱动程序工具包,可在此处找到:

http://msdn.microsoft.com/en-us/windows/hardware/gg487428

它有各种低级工具和标题,可帮助您编写驱动程序和其他内核模式代码。

典型的程序显然没有全权访问内存,而驱动程序有更多的控制权(虽然我猜他们也会使用系统的内存管理,但并不完全确定)。您可以在WDK中找到更多信息。

答案 2 :(得分:1)

您可以使用RtlSetProcessIsCritical函数来标记您的进程对系统操作至关重要。

如果您的进程终止(例如,如果您的应用程序调用ExitProcess),则会出现蓝屏。要使用此功能,您需要启用SE_DEBUG_NAME权限。