如何得到目标进程中加载的DLL的函数地址并远程调用

 我来答
百度网友ca5e28e
推荐于2016-02-21 · TA获得超过7.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:45%
帮助的人:6198万
展开全部
要在目标进程中找到DLL的函数地址,就要在目标进程中调用GetModuleHandle和GetProcAddress函数,要把以下代码放到目标进程中执行。
Pushad
pushfd
Mov EBX ,ls //ls是注入的模块路径在目标进程中的指针
Push EBX
Mov ECX ,GetModuleHandle //这两个函数地址可以在本地进程中得到。
Call ECX
Mov EBX,ls2 //要调用函数的导出名在目标进程中的地址
Push EBX
Push EAX
Mov ECX,GetProcAddress
Call ECX
Call EAX //GetProcAddress返回的地址在eax中,这里只是调用无参数的函数,如果有参数就很麻烦了。
popfd
Popad
Ret

这样处理了以后,DLL中要执行的无参数函数就可以不用放在DLLMAIN中了,DLL中可以做很多函数进去,放便在不同的目标进程中注入,可以让DLL更具有灵活性。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式