社区
VB基础类
帖子详情
如何获取dll文件中的函数及其参数?
shao_xiao_dong
2000-07-18 08:35:00
我有一个dll文件,里面有一些有用的函数。但是我没有该dll文件的说明,无法知道其包含的函数名称及其相应的参数组成,因此也就无法在程序中"Declare Function"。请问有没有办法获取dll的函数及其参数?
...全文
869
8
打赏
收藏
如何获取dll文件中的函数及其参数?
我有一个dll文件,里面有一些有用的函数。但是我没有该dll文件的说明,无法知道其包含的函数名称及其相应的参数组成,因此也就无法在程序中"Declare Function"。请问有没有办法获取dll的函数及其参数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liyang
2000-07-19
打赏
举报
回复
不好意思,我对汇编不是很熟。要看一下才行。
shao_xiao_dong
2000-07-19
打赏
举报
回复
liyang:
还要麻烦你,现在我可以取出dll中的函数名称了,但是仍然无法获取其
参数。是否能再指点一下,附上一段反汇编后的代码。
Exported fn(): TLINHRZ - Ord:0011h
:0006.34AE B8FFFF mov ax, SEG ADDR of Segment 0014
:0006.34B1 45 inc bp
:0006.34B2 55 push bp
:0006.34B3 8BEC mov bp, sp
:0006.34B5 1E push ds
:0006.34B6 8ED8 mov ds, ax
:0006.34B8 83EC04 sub sp, 0004
:0006.34BB 66C746FA00000000 mov dword ptr [bp-06], 00000000
:0006.34C3 837E1600 cmp word ptr [bp+16], 0000
:0006.34C7 751A jne 34E3
:0006.34C9 66837E1200 cmp dword ptr [bp+12], 00000000
:0006.34CE 7513 jne 34E3
:0006.34D0 66837E0E00 cmp dword ptr [bp+0E], 00000000
:0006.34D5 750C jne 34E3
:0006.34D7 66837E0A00 cmp dword ptr [bp+0A], 00000000
:0006.34DC 7505 jne 34E3
:0006.34DE 66837E0600 cmp dword ptr [bp+06], 00000000
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0006.34C7(C), :0006.34CE(C), :0006.34D5(C), :0006.34DC(C)
|
:0006.34E3 1E push ds
:0006.34E4 688809 push 0988
:0006.34E7 6A01 push 0001
:0006.34E9 666A02 push 00000002
:0006.34EC 666807000001 push 01000007
:0006.34F2 66680D000C00 push 000C000D
:0006.34F8 9AFFFF0000 call CVTE.Ord{001Ch}
:0006.34FD 66C1E010 shl eax, 10
:0006.3501 660FACD0 shrd eax, edx, 10
:0006.3505 106689 adc [bp-77], ah
:0006.3508 46 inc si
:0006.3509 FA cli
:0006.350A 66837EFA00 cmp dword ptr [bp-06], 00000000
:0006.350F 751B jne 352C
* Possible Reference to Dialog: TTOLDLG400, CONTROL_ID:0006, ""
|
:0006.3511 666A06 push 00000006
:0006.3514 666A00 push 00000000
:0006.3517 666A00 push 00000000
:0006.351A 9AFFFF0000 call CVTE.Ord{0033h}
:0006.351F 66C1E010 shl eax, 10
:0006.3523 660FACD0 shrd eax, edx, 10
:0006.3527 106689 adc [bp-77], ah
:0006.352A 46 inc si
:0006.352B FA cli
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0006.350F(C)
|
:0006.352C 66837EFA00 cmp dword ptr [bp-06], 00000000
:0006.3531 7515 jne 3548
* Possible Reference to String Resource ID=08960: "水平的尺寸标注 "
|
:0006.3533 680023 push 2300
:0006.3536 9AFFFF0000 call CVTE.Ord{0030h}
:0006.353B 66C1E010 shl eax, 10
:0006.353F 660FACD0 shrd eax, edx, 10
:0006.3543 106689 adc [bp-77], ah
:0006.3546 46 inc si
:0006.3547 FA cli
.......
liyang
2000-07-18
打赏
举报
回复
没关系。
shao_xiao_dong
2000-07-18
打赏
举报
回复
非常感谢!
liyang
2000-07-18
打赏
举报
回复
已经给你发过去了
anstern
2000-07-18
打赏
举报
回复
我也要,anstern@yahoo.com
shao_xiao_dong
2000-07-18
打赏
举报
回复
能否将wdasm32以及相关资料给我发过来,我的Email是Designonline@263.net
或者上载到某个教育网的FTP站点,谢谢。
liyang
2000-07-18
打赏
举报
回复
函数可以拿到,参数你要看相应函数的压栈过程。
用wdasm32反汇编。如需要,我这有。
查看
dll
中
的
函数
使用Visual Studio时,可以用自带工具dumpbin.exe(一般在 \vs安装目录\VC\bin 下)来得到某个
DLL
中
所输出的符号的清单 命令:dumpbin -exports myTest.
dll
ref: ......
如何获知
DLL
中
函数
的
参数
可以通过反汇编来知道接口
函数
的
参数
,建议使用W32DSM来分析,也可以直接使用VC来分析,就是麻烦一点。现在使用W32DSM来具体说明:1。先打开需要分析的
DLL
,然后通过菜单功能-》出口来找到需要分析的
函数
,双击就...
C\C++ 加载
dll
并调用
dll
中
的
函数
加载
dll
并调用
dll
中
的
函数
。
使用Python引用
DLL
文件
的方法
在某些情况下,您可能需要使用Python引用动态链接库(
DLL
)
文件
,以便在Python代码
中
调用
DLL
文件
中
的
函数
和方法。首先,您需要准备一个
DLL
文件
,该
文件
包含您要在Python
中
调用的
函数
和方法。首先,您需要准备一个
DLL
...
如何生成
DLL
文件
并导出
函数
及如何在C++或C#
中
调用
DLL
中
导出的
函数
关于
DLL
的含义和优点,不是本文讨论的重点,这里我们仅讨论如何用C++生成
DLL
文件
,并导出
函数
。 首先:在VS
中
创建工程的时候,要选择VC++(我只会用C++来生成
DLL
文件
)语言,然后选择win32再选择win32项目,如下图...
VB基础类
7,763
社区成员
197,605
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章