首页
社区
课程
招聘
远程dll调用问题
发表于: 2010-2-1 03:06 6189

远程dll调用问题

2010-2-1 03:06
6189
我把一个dll注入到别的线程,已成功注入,但DLL里的方法我我不会调用,请教大侠如何调用注入的DLL的方法? 我菜鸟一个
dll代码如下:
#include <windows.h>
extern "C" void sitdown()
{
    DWORD Address=0x5bfd60;
        __asm
        {
                pushad
                call Address
                popad
        }
}

BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
{
    switch ( fdwReason )
        {
    case DLL_PROCESS_ATTACH:
            sitdown(); //这里直接调用成功,但不知道在我的主程序如何调用
            break;
    case DLL_PROCESS_DETACH:      
             break;
        }
return TRUE;
}

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 445
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
进程间通信的问题~,google一下就OK啦
2010-2-1 10:49
0
雪    币: 76
活跃值: (27)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
其实可以不需要注入dll,直接通过VirtualAlloc注入代码,然后CreateRemoteThread来调用。
2010-2-1 11:28
0
雪    币: 538
活跃值: (485)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
4
如果目标程序有消息循环的话
可以 Inline Hook PeekMessageA/PeekMessageW  在里面进行消息过滤 遇到自自定义的消息的话 就调用sitdown
这样如果想调用的函数的话 就往目标窗口投递特定的消息
2010-2-1 15:11
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
当初看Windows via C/C++的时候我也想到过这个问题,但是当时没有实践尝试
今天看到你问,特地写了一下,测试ok
代码帖上来会变乱,所以就不帖了,上传到附件了
ExecutingDllRoutineTest.rar
上面是编译好的exe和dll,用于测试,dll只导出了一个函数,名字叫stalker
测试前,请将test.dll放到系统目录或者目标进程硬盘实体所在的目录下

下面是exe的整个工程(VC6.0)
Inject.rar
上传的附件:
2010-2-2 00:58
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
6
好吧,我也给一个之前写过的例子,虽然不能完成楼主说的调用dll功能 但是思想是有的  在远程线程里面稍加修改调用就可以了
连接:http://hi.baidu.com/blueapple%5Fc/blog/item/a5ddeb2ad2de6ef1e7cd40ce.html
2010-2-2 09:33
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
非常地感谢你们,能给个非mfc的例子吗?
2010-2-2 15:20
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
结贴走人
2010-2-3 19:02
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
好东西啊,收藏了
2012-11-26 06:42
0
游客
登录 | 注册 方可回帖
返回
//