【问题标题】:Windbg + IDA: calculate an address in a moduleWindbg + IDA:计算模块中的地址
【发布时间】:2011-02-08 04:49:06
【问题描述】:

我正在远程调试一台 Windows XP 机器。我的一个驱动程序加载到地址 0xb2c4c000 到 0xb2cb9680。

现在,当我在 IDA 中打开驱动程序时,我想设置断点的偏移量是 00017619。

如何有效地将我的 IDA 地址匹配到 windbg?

我已经尝试了显而易见的方法,即对 0xb2c4c000 + 00017619 = 0xB2C635F7 求和,然后使用 windbg 中的“u”命令反汇编该地址。但结果与 IDA 中的程序集不匹配。

关于一个附带问题:有没有办法取消在 windbg 中运行的命令?有几次我运行了需要很长时间才能处理的命令,如果需要,我希望能够取消它们。这样我就可以继续工作了。

感谢您的宝贵时间。

【问题讨论】:

  • 关于您的第二个问题 - 表现良好的扩展处理 ctrl-break (alt. ctrl-c) (这是取消花费太长时间的命令的方法)
  • 您在 IDA 中查看了哪个偏移量?我假设您没有查看文件偏移量...您需要查看驱动程序模块的基地址,然后首先从偏移量中减去它。

标签: reverse-engineering windbg offset ida


【解决方案1】:

最新版本的 IDA Pro 允许您通过其 WinDbg 调试器插件调试设备驱动程序。

另一种选择是您可以重新设置数据库以匹配加载模块的基础,这样您就可以在 idb 和 windbg 会话之间进行一对一的映射。

【讨论】:

    【解决方案2】:

    您添加不正确。由于 IDA 假设 10000 作为入口点,因此正确的添加方式是

    0xb2c4c000 + 00007619(减去10000)

    【讨论】:

      猜你喜欢
      • 2012-08-06
      • 2011-04-26
      • 1970-01-01
      • 2021-05-21
      • 2015-08-19
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多