小编lil*_*ith的帖子

Ghidra 是否误解了函数调用?

在分析 Ghidra 中的程序集列表时,我偶然发现了这条指令:

CALL dword ptr [EBX*0x4 + 0x402ac0]=>DAT_00402abc

我假设程序正在调用一个地址位于 inside 的函数DAT_00402abc,我最初认为它是一个双字变量。事实上,当尝试在 is 所在的位置创建函数时DAT_00402abc,Ghidra 不会让我这样做。

反编译器向我显示这行代码来翻译该指令:

(*(code *)(&int2)[iVar2])();

所以我想知道这是什么意思以及程序应该用这个调用做什么?有没有可能吉德拉彻底搞砸了?如果是这样,我应该如何解释该指令?

c x86 decompiling reverse-engineering ghidra

2
推荐指数
1
解决办法
1609
查看次数

标签 统计

c ×1

decompiling ×1

ghidra ×1

reverse-engineering ×1

x86 ×1