首页
社区
课程
招聘
[求助]DLL自定义函数怎么调用
发表于: 2013-10-8 23:26 6129

[求助]DLL自定义函数怎么调用

2013-10-8 23:26
6129


我写了一个DLL并输出一个名为MyFunc的函数,我将这个DLL注入到别的程序中,然后通过汇编代码修改让它调用我写的函数,我现在是直接 CALL 0110FF19 ,保存运行调用运行没有问题。 但是我到了别的电脑测试程序直接崩溃。 在别的电脑用OD载入发现MyFunc函数的地址是013EFF19 ,后面4位没有变,但是前面的变了,什么情况,这个地址是动态的吗?我应该怎么调用?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
楼主需要先了解下dll的重定位机制
2013-10-8 23:47
0
雪    币: 53
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
注入.LordLibrary.GetProcAddress不就行了?...简单.
2013-10-9 00:55
0
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
GetModuleHandle
GetProcAddress
同LS
2013-10-9 01:49
0
雪    币: 200
活跃值: (38)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
dll之所以叫dll就是因为它是运行时链接的库,整个映像的基址可变。
2013-10-9 02:26
0
雪    币: 8
活跃值: (33)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
直接代码注入
2013-10-9 03:52
0
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
peload+重定位,处理相关输入表,再处理相关tls等等
然后base+offset=函数地址,
然后push argu
push argu
...
call 函数地址
视情况调整堆栈
2013-10-9 09:57
0
游客
登录 | 注册 方可回帖
返回
//