如何从只有函数名的 DLL 中调用函数? C++

How to call function from DLL with only function name ? C++

是否可以在不知道函数原型的情况下从 DLL 文件中调用函数?我尝试使用 pe-parser 库从 DLL 文件中提取所有导出的函数,但我只有函数名称,我不知道函数 input/output。有什么解决方案可以从 dll 文件中找到导出的函数 input/output 吗?或者在不知道函数原型的情况下调用函数?

TL;DR - 编号

为了正确调用函数,您需要知道函数原型。它通常在 DLL 附带的 h 文件中提供。

您可以尝试对 DLL 进行逆向工程以找出原型,但此信息不是 PE 文件的一部分。

如果您有 PDB 文件,您可以从中提取相关信息。参见 this answer

我不明白为什么大家会感到惊讶,这是很正常的问题。 有一个程序,由 Steve P.Miller 命名为“Dependency walker”:https://www.dependencywalker.com/ 该程序曾经与 Windows SDK 一起分发,但在某些时候微软决定忘记它。我还在用这个程序。

我用的是2.2.6000版本,2006年10月29日建的,完全没问题。