这是我在此处发布的问题的后续问题。根据答案,我能够从二进制文件中获取所有函数原型。但是,我遇到的问题是我得到的大多数函数签名都没有参数,而同一函数的实际反编译版本(使用 Ghidra 已经提供的反编译脚本)有参数。
例如,我有一个undefined HAL_TIMEx_OnePulseN_Stop_IT(void)
由上面链接的答案给出的函数签名,而在反编译文件中(取自运行 ghidra 提供的 Decompile.java 脚本)我有它的签名,undefined4 HAL_TIMEx_OnePulseN_Stop_IT(uint **param_1,uint param_2)
因为我相信在我越过时会更准确- 检查二进制文件的实际来源。
这种不一致的原因是什么?无论如何,我可以以反编译版本的形式获取函数参数吗?我试图使用,DecompInterface
但我无法弄清楚提取原型的方法,就好像它们是在反编译版本中一样。抱歉,我是初学者,刚刚开始使用 Ghidra。感谢您的时间。