我使用ProcessHacker 2.33 版来检查正在运行的进程中由 DLL 导出的函数。在下面的屏幕截图中,您可以看到一些从 C++ 应用程序导出的函数,以及它们的序数和虚拟地址 (VA):

这是 ProcessHacker 的一个非常酷的功能,我在 ProcessExplorer 中找不到。但是,关于您可以在此屏幕截图中看到的条目,我无法找到?(问号)和函数名称前缀的数字是什么意思。另外,我不确定@名称中的单双(at) 符号后跟一组大写字母或数字是什么意思。
问题1:符号( ?, @)、数字前缀和大写字母后缀分别代表什么?如何解释它们?
问题2: “Ordinal”栏是什么意思?
问题 3: “VA”列是否显示了过程入口点相对于.textDLL 段的基地址的偏移量?如果不是,它代表什么?
问题 4:如何从“导出”选项卡计算任何函数的绝对地址?