首页
社区
课程
招聘
[旧帖] DLL中有个函数TEST() ,被 LoadLibrary后,如何计算TEST在应用程序中的地址? 0.00雪花
发表于: 2012-2-17 13:38 6820

[旧帖] DLL中有个函数TEST() ,被 LoadLibrary后,如何计算TEST在应用程序中的地址? 0.00雪花

2012-2-17 13:38
6820
DLL中有个函数TEST() ,被 LoadLibrary后,如何计算TEST在应用程序中的地址?

谢谢。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
如果是导出函数的话,可以用depends,VC++自带的
2012-2-17 13:53
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
要获得Test在DLL中的地址,可以通过函数GetProcAddress来获取。用LoadLibrary加载DLL以后,然后通过GetProcAddress获取动态库在内存的地址,然后调用。而本身EXE程序中,是没有这个函数的,是通过加载以后,来调用的,所以是没办法获取到TEST的地址的。加载以后,函数会进行重定位,GetProcAddress获取的是EXE重定位以后的,实际上,函数并不在EXE中。
希望我的回答对你有帮助,如果有帮助,请您给我加分。谢谢。
2012-2-17 14:19
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
搜索我的一篇主题帖子    完美实现GetProcAddress  应该会对你有所帮助
2012-2-17 14:33
0
雪    币: 48
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Handle dllbase=LoadLibrary("你的dll名称");
PVOID FuncAddr= GetProcAddress(dllbase,"TEST");
FuncAddr就是TEST()这个函数的地址。
2012-4-20 10:12
0
雪    币: 297
活跃值: (235)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
6
不知楼主想用在哪里,如果没有启用增量连接的话,函数名字就是函数地址,在dll中,还是获取模块基址再加偏移来过去。最好还是自己调试下咯。。。
2012-4-21 19:16
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
导出的话好办, GetProcAddress就可以了
2012-4-21 21:45
0
雪    币: 1596
活跃值: (25)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
8
用PE工具看输出表,会显示它的地址偏移,再加上DLL的基地址就是这个函数的首地址
2012-6-10 11:13
0
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
GetProcAddress就可以了,没事冒泡下
2012-6-10 20:14
0
雪    币: 854
活跃值: (1401)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
如果DLL不经常修改,且函数未导出,可以写死这个函数的偏移位置。

DWORD dwFuncOffset   = 0xxxx;//这里定义成宏最好
HMODULE hDll                = NULL;
DWORD dwFuncAddr      = 0;
hDll                                 = LoadLibrary("dll名字");

dwFuncAddr                   = (DWORD)hDll + dwFuncOffset;

dwFuncAddr就是test函数的地址,转成函数指针调用。

如果是导出函数,直接GetProcAddress;

如果dll不是自己的,可以看用OD定位到TEST函数的地址,算出偏移得dwFuncOffset

也可以采取暴搜的方法,从DLL的基地址搜,这个效率相对低下。
2012-6-11 08:58
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
可以用GetProcAddress函数获取。
2012-6-11 12:53
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
888888888888888888888888888888888888888888888888888888888888
2012-6-14 14:46
0
游客
登录 | 注册 方可回帖
返回
//