使用VS2010 自带工具:
DUMP /exports xxx.dll 导出函数表
生成xxx.def文件:
EXPORTS
func1@0 @1
func2@0 @2
注: @0表示没有参数, 如果有参数, 用参数*4, 如一个参数@0改为@4, 两个参数@0改为@8, 与此类推,修改后用LIB重新生成 LIB库
用lib.exe
lib /def:xxx.def /machine:i386 /out:xxx.lib
生成xxx.lib
在VC2010 用
#pragma comment(lib, "xxx.lib")
extern "C" int WINAPI func1();
extern "C" int WINAPI func2(int p1,int p2, int p3);
int _tmain(int argc, _TCHAR* argv[])
{
func1();
int pp=func2(10,20,30);
return 0;
}
经测试调用成功
带参数的, 用IDA 分析XXX.DLL的参数数量及堆栈使用类型(__cdecl,__stdcall), 不知道参数类型, 可暂定为int
本文详细介绍如何使用Visual Studio 2010自带工具导出DLL中的函数表,生成.def文件,并通过.lib库在项目中调用DLL函数。文章包括参数类型分析、调用测试等关键步骤。
3706

被折叠的 条评论
为什么被折叠?



