当我使用 Ghidra 反汇编 .so 文件时,什么是未定义函数?
What is undefined function when I use Ghidra to dissemble a .so file?
我现在正在尝试分解一个 .so
文件,我发现了一个奇怪的部分:
然后跟随 FUN_004d9f38
引导我:
任何人都可以帮助我理解什么是所谓的 undefined __cdecl FUN_004d9f38(void)
,特别是什么是 undefinde
函数。
如上代码所示。第一张图的代码使用跳转指令跳转到FUN_004d9f38
,但是FUN_004d9f38
是67
的无效指令代码。该程序如何才能继续正常运行?
undefined
是一种特殊的数据类型,Ghidra 使用它来标记类型还不是 known/defined 的位置。如果您右键单击函数名称和 Edit Function
,您应该会看到这样的 window,这使它更清晰:
如果您将列表中的数据类型更改为例如qword
你得到 qword FUN_1000081e0
而不是 undefined FUN_1000081e0
:
我现在正在尝试分解一个 .so
文件,我发现了一个奇怪的部分:
然后跟随 FUN_004d9f38
引导我:
任何人都可以帮助我理解什么是所谓的 undefined __cdecl FUN_004d9f38(void)
,特别是什么是 undefinde
函数。
如上代码所示。第一张图的代码使用跳转指令跳转到FUN_004d9f38
,但是FUN_004d9f38
是67
的无效指令代码。该程序如何才能继续正常运行?
undefined
是一种特殊的数据类型,Ghidra 使用它来标记类型还不是 known/defined 的位置。如果您右键单击函数名称和 Edit Function
,您应该会看到这样的 window,这使它更清晰:
如果您将列表中的数据类型更改为例如qword
你得到 qword FUN_1000081e0
而不是 undefined FUN_1000081e0
: