Windbg + IDA:计算模块中的地址
Posted
技术标签:
【中文标题】Windbg + IDA:计算模块中的地址【英文标题】:Windbg + IDA: calculate an address in a module 【发布时间】: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 中查看了哪个偏移量?我假设您没有查看文件偏移量...您需要查看驱动程序模块的基地址,然后首先从偏移量中减去它。 【参考方案1】:最新版本的 IDA Pro 允许您通过其 WinDbg 调试器插件调试设备驱动程序。
另一种选择是您可以重新设置数据库以匹配加载模块的基础,这样您就可以在 idb 和 windbg 会话之间进行一对一的映射。
【讨论】:
【参考方案2】:您添加不正确。由于 IDA 假设 10000 作为入口点,因此正确的添加方式是
0xb2c4c000 + 00007619(减去10000)
【讨论】:
以上是关于Windbg + IDA:计算模块中的地址的主要内容,如果未能解决你的问题,请参考以下文章
X64 反汇编程序 IDA 和 WINDBG。 IDA 不显示 x64 操作码