【问题标题】:Using $t0 value in !eb windbg command to write physical memory在 !eb windbg 命令中使用 $t0 值写入物理内存
【发布时间】:2017-01-17 23:10:13
【问题描述】:

我正在编写一个 WinDbg 脚本来写入一些物理内存,在内核调试模式下运行它,使用 !ed 命令。

!ed 当我使用给定值手动运行它时工作正常,例如!ed 9182f084 8

我现在想在要写入的值来自伪寄存器的脚本中运行它。但以下不起作用:

r $t0=8
!ed 9182f084 @$t0

我不太清楚在这种情况下它写的是什么值,但它显然不是我希望的整数值 8。

感谢任何提示!

【问题讨论】:

    标签: windbg


    【解决方案1】:

    对我也不起作用。看起来 !ed 命令解析参数不正确。您可以指定完全无效的内容,它只是默默地忽略该命令。例如,我什至没有收到错误:

    kd> !ed 4318b20 XYZ
    

    除了编写自己的 !ed 版本之外,我能想到的唯一解决方法是使用别名:

    kd> r @$t0 = 8
    kd> as /x ${/v:t0Val} @$t0
    kd> !ed 4318b20 ${t0Val}
    kd> !dd 4318b20 L1
    # 4318b20 00000008
    

    指定“8”的方式相当荒谬,但如果您尝试将其放入脚本中,它会起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      相关资源
      最近更新 更多