winapi - 如何找出DLL文件的API函数?

标签 winapi api dll export

有没有办法从DLL 文件 中获取所有API(导出) 函数?

我知道 Depends 和 PE Explorer 等程序可以做到这一点,但它们都无法检索参数列表。

最佳答案

除非导出的函数类似于 COM DLL 或带有 munging 的 C++,否则根本没有提供参数的信息。通常可以找到参数的总大小,除以 4 很可能会得到接近正确数字的值,但除此之外就需要体力劳动了,阅读汇编代码来弄清楚参数是如何计算的用过。

如果它是一个 COM DLL,它可能包含一个类型库,告诉所有 DLL 的内容以及如何使用它。在这种情况下,通常只有非常几个导出函数需要查看——您必须使用 COM 才能获得真正的功能。

如果它们是经过修改的 C++ 名称,那么它将取决于用于创建 DLL 的编译器/工具集。例如,如果它是用 VC++ 创建的,则可以使用 UnDecorateSymbolName() 获取全名和参数。

关于winapi - 如何找出DLL文件的API函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1917539/

相关文章:

ios - "Login with Facebook"+ 自定义 API - 适用于 iOS 应用

c# - "Could not load file or assembly ' PresentationUI.Aero2 ' or one of its dependencies."为什么不呢?

c++ - 基于旧的crypto++库编译DLL时报错C2664

windows - D 运行时作为 DLL

C++进程类错误

delphi - 为什么这个结构应该有 48 个字节

c++ - 使用 C++ 从控制台应用程序收集 stdout 输出

C# 将 Split() 与列表一起使用?

python - Django-Filter 并使用数组进行查询

Android运行时权限api "requestPermission()"设计