社区
进程/线程/DLL
帖子详情
获得dll函数的问题,是否也可以直接通过入口点访问?
最后一只恐龙
2010-05-10 09:54:15
使用的是别人提供的动态链接库,有头文件,但没有def文件,查看函数名如下:
Ordinal:2
Hint:1
Function:?GetRDCallExit@@YA_NXD
Entry Point:0x000010B0
由于函数名前面有一个?,估计没法获得函数入口地址了。那么Entry Point是否就是那个函数入口地址?是不是可以通过它来调用函数,如果是,能否给出代码?
...全文
92
9
打赏
收藏
获得dll函数的问题,是否也可以直接通过入口点访问?
使用的是别人提供的动态链接库,有头文件,但没有def文件,查看函数名如下: Ordinal:2 Hint:1 Function:?GetRDCallExit@@YA_NXD Entry Point:0x000010B0 由于函数名前面有一个?,估计没法获得函数入口地址了。那么Entry Point是否就是那个函数入口地址?是不是可以通过它来调用函数,如果是,能否给出代码?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
最后一只恐龙
2010-05-10
打赏
举报
回复
搞定了,那个比较长的函数名前面加?是可以找到入口点的,看了一篇命名规则的文档理解了,函数名前面就是有?的。
tanwei1002
2010-05-10
打赏
举报
回复
有头文件,头文件中有函数原型没?
如果有的话就可以了,不需要def的
renxu350
2010-05-10
打赏
举报
回复
把代码贴出来看看
最后一只恐龙
2010-05-10
打赏
举报
回复
[Quote=引用 2 楼 renxu350 的回复:]
引用楼主 ivy_zheng 的回复:
Entry Point:0x000010B0
看这个值不太像实际入口点,有可能是相对 hDllInstance 的偏移。
你试一试看看先 LoadLibrary() 得到 hDllInstance,然后用 hDllInstance + 0x000010B0,相加得到的值就是函数入口地址,这样可以不要调用 GetProcAddress。
……
[/Quote]
不行
最后一只恐龙
2010-05-10
打赏
举报
回复
[Quote=引用 2 楼 renxu350 的回复:]
引用楼主 ivy_zheng 的回复:
Entry Point:0x000010B0
看这个值不太像实际入口点,有可能是相对 hDllInstance 的偏移。
你试一试看看先 LoadLibrary() 得到 hDllInstance,然后用 hDllInstance + 0x000010B0,相加得到的值就是函数入口地址,这样可以不要调用 GetProcAddress。
……
[/Quote]
我试一下先
最后一只恐龙
2010-05-10
打赏
举报
回复
[Quote=引用 1 楼 xiuxianshen 的回复:]
你用extern C加你的头文件里的函数名看看,函数名应该是GetRDCallExit
[/Quote]
函数名就是GetRDCallExit,但是加extern C我没有权限,他们肯定没有做成固定的,这样我要调用GetProcAddress,必须想办法得到完整的函数名
visualassist4680
2010-05-10
打赏
举报
回复
1.使用 Ordinal:2 调用
2.用c++方式查看,用c++方式调用, GetRDCallExit
renxu350
2010-05-10
打赏
举报
回复
[Quote=引用楼主 ivy_zheng 的回复:]
Entry Point:0x000010B0
[/Quote]
看这个值不太像实际入口点,有可能是相对 hDllInstance 的偏移。
你试一试看看先 LoadLibrary() 得到 hDllInstance,然后用 hDllInstance + 0x000010B0,相加得到的值就是函数入口地址,这样可以不要调用 GetProcAddress。
xiuxianshen
2010-05-10
打赏
举报
回复
你用extern C加你的头文件里的函数名看看,函数名应该是GetRDCallExit
为Linux应用程序编写
DLL
程序
函数
应用程序通过使用对动态链接装入器的 dlopen、dlsym 和 dlclose
函数
调用来获取对共享目标文件的
访问
。在运行时,主应用程序使用绝对路径或相对于 LD_LIBRARY_PATH 的相对路径找到共享目标库,并且请求所需的
dll
...
pb调用
dll
实例
使用
DLL
有许多优
点
:(1)使用
DLL
的动态连接不是将库代码拷贝,只在程序中记录
函数
的
入口
点
和接口,在程序执行时才将库代码装入内存,如果有多个程序使用相同的
DLL
,也只需将
DLL
在内存中装载一次,节省了内存开销。...
vb没法定位.
dll
函数
入口
点
你需要在
DLL
的*.def文件中加上
入口
函数
,如: EXPORTS SetData @1 GetData @2 这样VB程序就可以
访问
SetData和GetData
函数
了。其中@1、@2是这两个
函数
的
通过中转
DLL
函数
实现
DLL
劫持
当我们运行程序时,一般情况下会默认加载Nt
dll
.
dll
和Kernel32.
dll
这两个链接库,在进程未被创建之前Nt
dll
.
dll
库就被默认加载了,三环下任何对其劫持都是无效的,除了该
Dll
外,其他的
Dll
都是在程序运行时,在输入表中...
dll
动态链接库(2)---
入口
函数
Dll
Main
使用Vc++自带的Depends工具进行查看,但是只能看到
函数
的名字,具体的
函数
参数及返回值看不到,所以要把动态库导出
函数
声明的头文件(.h文件)打包给<<开发者>> 。 2、新建
DLL
工程: 大家...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章