首页
社区
课程
招聘
[求助]dll注入问题
发表于: 2018-6-3 14:16 3271

[求助]dll注入问题

2018-6-3 14:16
3271
如何在注入后调用进程中的函数?

我写的dll:
#include <Windows.h>

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) {
    typedef int(*EXEFUNC)(void);
    HMODULE hExe = GetModuleHandle(NULL);
    switch(fdwReason) {
        case DLL_PROCESS_ATTACH:
            (EXEFUNC)GetProcAddress(hExe, "CallMe")();
            break;
        case DLL_THREAD_ATTACH:
            break;
        case DLL_THREAD_DETACH:
            break;
        case DLL_PROCESS_DETACH:
            break;
    }
    return(TRUE);
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 288
活跃值: (269)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
getprocaddress  是对dll导出函数来的吧,exe没有导出函数,所以没法搞,只能动态搜索函数地址,或者硬编码
2018-6-3 16:25
0
雪    币: 8571
活跃值: (940)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
感谢回覆,已解决
2018-6-4 13:03
0
雪    币: 64
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
经典中国论坛回帖模式。。
楼主你怎么解决的啊
2018-6-4 15:50
0
雪    币: 8571
活跃值: (940)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
dplxin 经典中国论坛回帖模式。。 楼主你怎么解决的啊
//  反射获取函数指针
Type^  type  =  Type::GetType("WindowsFormsApp1.Form1,  WindowsFormsApp1");//namespace.class,  namespace
MethodInfo^  method  =  type->GetMethod("CallMe",  BindingFlags::Public  |  BindingFlags::Static);
void*  address  =  (void*)method->MethodHandle.GetFunctionPointer();
//  call  function
typedef  void  func();
func  *  f;
f  =  (func*)address;
f();

参考:  https://blog.csdn.net/xfgryujk/article/details/79053312
2018-6-4 23:16
0
游客
登录 | 注册 方可回帖
返回
//