【问题标题】:Windows Kernel: patching code in OS modulesWindows 内核:修补操作系统模块中的代码
【发布时间】:2014-12-21 17:40:07
【问题描述】:

环境:

  1. Windows 8.1 (x64)
  2. Visual Studio
  3. WinDbg

驱动程序启动时,我需要更改 bthport.sys 的单个字节以更改其运行时行为,我能够找到要更新的确切位置,不幸的是,在更新指令时,我得到了 GeneralProtection faliure ,设置CR0寄存器的WP标志没有帮助。

如何在内核模式驱动程序中以编程方式控制页面保护?

【问题讨论】:

  • Windows 现在配备了 PatchGuard,这是针对恶意软件执行此操作的一种对策。和你。你肯定知道这会在某天让你在后端感到厌烦。

标签: kernel driver kernel-module windows-kernel


【解决方案1】:

您可以尝试修改代码而不更改页面保护。这取决于您需要更改此字节的位置。对于某些驱动程序,IRP Major 和 IRP Minor 回调保存在 .DATA 部分中。如果代码在此回调中,您可以用您自己的代码替换它们(注意它们使用的全局代码)。

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2016-10-21
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      • 2011-04-06
      • 2011-11-17
      • 2017-06-29
      • 1970-01-01
      • 2012-09-09
      相关资源
      最近更新 更多