Assembly IDA Pro从寄存器和常量偏移量中取消引用指针

Assembly IDA Pro从寄存器和常量偏移量中取消引用指针,assembly,x86,reverse-engineering,ida,Assembly,X86,Reverse Engineering,Ida,我有一段汇编代码,如下所示: mov eax [edi + 24h] 在IDA Pro中是否有一种快速的方法来解析该值,而不必导航到地址,找出该值是什么,并向其添加24小时?命令行快捷方式会很好。如果您正在调试,以下技巧会起作用: 按Ctrl-R(“用户定义的偏移量”) 在“基址”字段中输入“edi” 按回车键 您将得到如下结果: mov eax, [edi + (target_address - edi_value)] 这是因为在调试过程中,IDC解释器识别并计算寄存器名。IDA中的大多数

我有一段汇编代码,如下所示:

mov eax [edi + 24h]

在IDA Pro中是否有一种快速的方法来解析该值,而不必导航到地址,找出该值是什么,并向其添加24小时?命令行快捷方式会很好。

如果您正在调试,以下技巧会起作用:

  • 按Ctrl-R(“用户定义的偏移量”)
  • 在“基址”字段中输入“
    edi
  • 按回车键
  • 您将得到如下结果:

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

    这是因为在调试过程中,IDC解释器识别并计算寄存器名。IDA中的大多数数字输入字段都接受IDC表达式。

    IDA怎么知道这一点?在某些情况下,它知道,但大多数情况下它不会。这是一个运行时计算的地址,因此您必须根据此指令之前的内容推断它,或者使用调试器查找它。抱歉,我想很明显,我已将调试器连接到正确的位置。您也可以双击操作数以跟随地址。