如何更改 Ghidra 中寄存器的计算值显示方式

逆向工程 拆卸 吉德拉 斯帕克
2021-06-22 01:49:53

我目前正致力于在 Ghidra 中反转一些 Sparc 代码,并且计算出的寄存器值显示不正确。这是该行在列表中的外观:

add o3, o0=>DAT_00007d88, o0

我希望它看起来像这样:

add o3, o0, o0=>DAT_00007d88

这是因为 Sparc 反汇编将目标操作数作为列出的最后一个寄存器。指令信息看起来像这样,计算出的地址总是绑定到寄存器的第一个实例。

在此处输入图片说明

我目前正在使用语言规范的副本,因此如果需要解决此问题,修改 pspec 或 cspec 没有问题。这里的指令只是一个例子,但这个问题在整个指令集中是通用的。

编辑更大的代码片段:

   ram:00004d4c 17 04 b4 14    sethi     %hi(0x12d05000), o3
   ram:00004d50 96 12 e0 e8    or        o3, 0xe8, o3
   ram:00004d54 11 3b 4c 0b    sethi     %hi(0xed302c00), o0
   ram:00004d58 90 12 20 a0    or        o0, 0xa0, o0
   ram:00004d5c 90 02 c0 08    add       o3, o0=>DAT_00007d88, o0                   
0个回答
没有发现任何回复~