社区
C语言
帖子详情
***一个想法***
pfans007
2001-09-14 09:33:53
有没有可以根据DLL产生一个头文件的程序?即使是不太准确也好。
...全文
100
11
打赏
收藏
***一个想法***
有没有可以根据DLL产生一个头文件的程序?即使是不太准确也好。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kiss_kick_kill
2001-09-18
打赏
举报
回复
gz
qqchen79
2001-09-18
打赏
举报
回复
是呀,EAX或者EDX:EAX,但是知道在那里有什么用呢?知道类型吗?EAX里是int还是float或者pointer/ref?没办法呀!参数也一样,最多知道每个参数大小,已经很费力了,而且不可能自动完成。
pfans007
2001-09-18
打赏
举报
回复
标准的返回值不是从EAX返回吗?还有待观察。
qqchen79
2001-09-17
打赏
举报
回复
比较标准的DLL应该采用WINAPI或者说_stdcall调用规则,这与具体的编程语言没什么关系。有时候用VC生成的DLL会采用_cdecl,这样就失去了语言混合编程的特性。所以我们仍然一_stdcall位标准讨论DLL。
_stcall确实保存了参数的总字节数,但要编一个工具去分析每个参数的具体类型,已经非常困难了(主要是push/pop),至于返回值,根本没法得到!
pfans007
2001-09-17
打赏
举报
回复
据我用反编译工具观察,用vc编译出的DLL中输出的函数命名是有规律的,
再结合参数的压栈和出栈操作,可以探测到参数的个数及每个参数的字节数
当然如DWORD与int之类是无法区分的,不过我想能做到这些应该就不错了
大家有兴趣请探讨一下。我的邮箱是corefans@netease.com.
krerix
2001-09-16
打赏
举报
回复
gz
winnest
2001-09-16
打赏
举报
回复
得不到,dll是二进制代码。
tohigh
2001-09-15
打赏
举报
回复
gz
Frazy
2001-09-15
打赏
举报
回复
未必
qqchen79
2001-09-15
打赏
举报
回复
同意SCUM(人渣)
不可能自动的从DLL中得到参数和返回值信息。
SCUM
2001-09-14
打赏
举报
回复
可以得到函数位置、函数名表。但得不到参数表和返回值。
scala
Scala代表了
一个
新的语言品种,它抹平了这些人为划分的界限。 根据David Rupp在博客中的说法,Scala可能是下一代Java。这么高的评价让人不禁想看看它到底是什么东西。 Scala有几项关键特性表明了它的...
微信小程序使用wxs实现手机号用****代替(超详细)
这里我新建了
一个
与pages同级的sub文件夹,里面创建了subutil.wxs文件 subutil.wxs /** * 处理字符串为*格式, 中间显示自定义*号 * str 需要处理的字符串 * startLength 前面显示的字符串长度 * endLength后面...
python函数的参数(*a,**a,/,*)
*参数收集所有未匹配的位置参数组成
一个
tuple对象,局部变量args指向此tuple向此对象。 **参数收集所有未匹配的关键字参数组成
一个
dict对象,局部变量kwargs指向此dict对象。 调用函数时注意点: 关键字参数必须跟...
const*与*const以及const*与*作为函数参数的差别
假设有
一个
ptr指针,它保存变量vbl的地址。 Type* ptr = &vbl; 当使用指针的时候就涉及到两个对象:指针本身以及本身所指的对象。这就意味着const有三个层级的保护。 1.1. 确保ptr指向唯一的内存 有两种...
struct node和struct node *类型以及为什么要使用struct node *类型
在链表的学习过程,有的时候搞不清楚为什么只是
一个
指针而已,为什么要设置成struct node *类型。 昨天又有了一点
想法
:指针地址的关系,以及指针和指针的不同。 一般我们学的都是类似于int *p或者char *p这种单纯...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章