在 Ghidra 中处理指向结构中间的指针

逆向工程 吉德拉
2021-06-25 04:46:03

有时我会遇到指向结构中间的指针,代码使用负偏移量来引用更早的代码。这可能导致程序集看起来像这样,使用 MIPS 作为示例架构:

lw -0x4($s0)

在 IDA Pro 中,我可以突出显示该指令的“-0x4”部分,然后按 T 打开一个新对话框,允许我设置“增量”(该功能在此处详细描述:http://www.hexblog .com/?p=63)。如果我知道 $s0 指向结构的第 4 个字节,我可以将 delta 设置为 -4 并得到如下结果:

lw struct.field0+4($s0)

有没有类似的方法可以在 Ghidra 的结构中间进行操作?

1个回答

这目前(2020 年 4 月)仍然不可能。该功能在https://github.com/NationalSecurityAgency/ghidra/issues/573 中讨论

目前尚不清楚 Ghidra 开发人员是否会在不久的将来实施,或者是否需要由社区实施。

无论如何,我认为当发生这种情况时,这个问题将被标记为已解决并引用实现该功能的 PR,从而回答问题。