如何查看DLL中的函数名及参数

如何查看DLL中的函数名及参数,第1张

函数名很简单,导出表里写的明明白白,随便一个dll查看工具都可以读出,比如CFF explorer。但是对于参数,就像楼上说的那样,不能看出它真实的数据类型(即在高级语言中的抽象数据类型)。因为都编译成汇编了,没有抽象的概念了,此时只能知道数据大小。

但是,不代表就没有办法了。有个一软件叫IDA,专门用于静态分析,它可以反编译汇编成C的伪代码,从而大致能知道传入、传出了啥。如果再知道函数的功能的话,只要不是太复杂,分析出参数类型问题不大。

IDA反编译大概效果就是这样:void __fastcall Function(__int64 a1, __int64 a2, int a3, _QWORD a4)。这里只复制了个声明,但也可以看出,比晦涩的汇编容易读多了。注意上面写的数据类型只能当作参考,因为这些数据类型也是软件根据代码行为推测的。

现在做的aspnet供应链管理系统因为要与该公司的oa办公系统共处,所以需要调用oa办公系统中dll中的一个加密函数

调用的步骤如下:

一、开始-运行,输入

regsvr32

"x:\path\yourdlldll"

其中x:\path\yourdlldll代表你的VB的dll的路径和文件名。

二、将yourdlldll添加到项目中

ok在cs文件中实例化即可以调用想要的函数了

dll库生成的位数或方式不同。通常dll里函数无法获取是因为dll库生成的位数或方式不同导致的,若dll库是在64位的qt中生成的,则32位的qt无法调用此依赖库。dll,动态链接库,在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12155543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存