【问题标题】:Handling names in IDAPython在 IDAPython 中处理名称
【发布时间】:2019-04-06 05:55:16
【问题描述】:

我正在编写一个小的 IDAPython 脚本。

脚本本身 100% 的运行时间如下:

qword_FFFFFFF006F1E6C0 DCQ 0xFFFFFFF007758C18

当它查看地址0xFFFF..时,看看那里是否有一个函数,如果有,用函数名+段信息重命名qword。

现在,有时,反汇编看起来像这样:

off_FFFFFFF006F1E690 DCQ OSDictionary::withCapacity(uint) ,当然,脚本在此处发生故障(需要一个地址,给定一个名称..)。

我想做的是获取第二个操作数的地址(OSDictionary::with...),然后正常执行脚本。

不幸的是,我不知道该怎么做,以获取我使用的地址:

disas = GetDisasm(addr).split(" ")
fun_addr = disas[1]
....

【问题讨论】:

    标签: disassembly ida


    【解决方案1】:

    如果你总是想要目的地的地址,你可以使用 get_qword 函数

    https://www.hex-rays.com/products/ida/support/idadoc/1321.shtml

    IDAPython 中的 Qword 函数。 只需执行Qword(addr),这将为您提供数字地址。 您可能需要补偿字节顺序(使用结构)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 2018-03-15
      • 2013-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多