【问题标题】:C++ - writing directly to memory(Kernel)C++ - 直接写入内存(内核)
【发布时间】:2011-12-03 23:44:03
【问题描述】:

我之前也问过差不多一样的问题,但是我的帖子由于某种原因被删除了。

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 为什么要让 Windows 崩溃?...抱歉,忍不住:/
  • 你需要检查你的眼睛才能问这个问题......对不起,我不得不说:/
  • 蓝屏就够了吗?
  • 是的,这就够了,哈哈,我不想过多地损坏电脑
  • 你应该接受一个答案...

标签: c++ windows memory kernel


【解决方案1】:

Write a driver,让它崩溃。当然,只有在非常特定的情况下,这才会真正使 Windows 7 崩溃(因为与公众舆论不同,它不是由白痴写的)。

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

    • 感谢您的信息 :) 这肯定会帮助我 :)
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 2011-12-15
      • 2021-07-20
      • 2013-01-10
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多