Ghidra 反编译 windows 是灰色背景

Ghidra decompile windows is greyed backgound

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

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

示例:

匹配代码

        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

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