【问题标题】:IDA Pro Dereference Pointer from a Register and a Constant offset来自寄存器和常量偏移量的 IDA Pro 解引用指针
【发布时间】:2013-12-06 18:14:07
【问题描述】:

我有一段汇编代码如下:

mov eax [edi + 24h]

IDA Pro 中是否有一种快速的方法来解决该值,而无需导航到地址,找出值是什么,然后将 24h 添加到它?命令行快捷方式会很棒。

【问题讨论】:

  • IDA 应该如何知道这一点?在某些情况下,它知道,但大多数情况下它不会。这是一个运行时计算的地址,所以要么你必须从这条指令之前的内容中推导出它,要么你必须使用调试器查看。
  • 抱歉,我认为很明显我已将调试器连接到正确的位置。
  • 也可以直接双击操作数跟随地址。

标签: assembly x86 reverse-engineering ida


【解决方案1】:

如果您正在调试,则以下技巧有效:

  1. Ctrl-R(“用户定义的偏移量”)
  2. 在“基地址”字段中输入“edi”。
  3. Enter

你会得到类似的东西:

mov eax, [edi + (target_address - edi_value)]

这是可行的,因为在调试期间 IDC 解释器会识别寄存器名称并对其进行评估。 IDA 中的大多数数字输入字段都接受 IDC 表达式。

【讨论】:

    猜你喜欢
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2021-06-07
    • 2015-07-09
    相关资源
    最近更新 更多