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

  • Post author:
  • Post category:其他


原创文章 转载说明出处:



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/



版权声明:本文为chinabinlang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。