查看动态链接库中函数参数类型

时间:2021-10-02 15:48:53

原创文章 转载说明出处:chinabinlang

 

一般情况下,只有一个DLL文件,我们无法知道dll中函数的参数,通过DLL查看工具也只可以知道DLL中函数的名字,如 Dependency。

 

一般可以通过如下方式:

#define DllImport   __declspec( dllimport )

#define DllExport   __declspec( dllexport )

或者

#define DllImport extern "C"  __declspec( dllimport )

#define DllExport extern "C" __declspec( dllexport )

 

DllExport void func();

DllExport int i = 10;

DllExport int j;

DllExport int n;

导入导出dll中的函数,但是导入的时候,需要知道函数原型(返回值+函数名+参数类型);

 

查看动态链接库中函数参数类型的方法,方法如下:

1:指定一个动态链接库文件:如:dllproj.dll。

2:VC建立调试工程,动态方式调用 dllproj.dll ;通过Dependency指定想要查看的函数;

    如:

   查看动态链接库中函数参数类型

3:通过调试进入断点,查看dllFunction指针,就可以看到函数名和函数参数类型;

(注:暂时还无法查看返回值类型,如有哪位明知道,可以补充一下查看动态链接库中函数参数类型);

如:

查看动态链接库中函数参数类型

 

 

今天又发现一个更简单的方法:

当前目录的任意dll中的函数都可以;

CD /D %~dp0
undname -f ?getnglabal@@YAHXZ

pause

 





今天发现了一个很好的软件,和微软的depends很像,但是可以看到dll的参数和返回值,非常方便,好用;

http://www.dependencywalker.com/