1

对于某些方法,Ghidra 的反编译器背景窗口是灰色的,我无法重命名函数或局部变量。为什么?

它适用于具有“白色背景”的方法。

例子:

反编译窗口灰显

匹配代码

        004d49dd cc              ??         CCh
        004d49de cc              ??         CCh
        004d49df cc              ??         CCh
                             LAB_004d49e0                                    XREF[1]:     FUN_004d4ac0:004d4b0e(*)  
  ==>   004d49e0 64 8b 0d        MOV        ECX,dword ptr FS:[0x2c]
                 2c 00 00 00
        004d49e7 a1 bc 39        MOV        EAX,[DAT_00d439bc]                               = ??
                 d4 00
        004d49ec 8b 14 81        MOV        EDX,dword ptr [ECX + EAX*0x4]
        004d49ef 8b 92 08        MOV        EDX,dword ptr [EDX + 0x8]
                 00 00 00
4

1 回答 1

1

您只能在完全定义的函数中进行重命名。灰色背景意味着 Ghidra 此时没有正确创建函数。您也可以在反汇编中看到这一点,在该位置您只有一个标签。如果您认为这是一个函数,您可以键入F并定义一个函数。它应该启用所有编辑选项。

在此处输入图像描述

于 2022-02-13T17:33:25.100 回答