首页
社区
课程
招聘
[求助]远程注入为什么多次弹出窗口
发表于: 2011-9-19 15:07 5948

[求助]远程注入为什么多次弹出窗口

2011-9-19 15:07
5948
我远程注入一个dll,里面就是一个messagebox,注入到一个程序里面去了比如QQ.exe,但是为什么要弹出多次弹出窗口呢?难道被注入的程序多次调用,还是被注入的程序别的线程也调用了,还有就是被注入的程序关闭时还会弹出一次,请问这是为什么?

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 962
活跃值: (1681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
dllmain写得不对

正确的写法
BOOL WINAPI DllMain(HINSTANCE hInst, DWORD dwReason, LPDWORD pdwRes)
{
        //        如果在这里写messagebox 就会调用很多次
        switch ( dwReason )
        {
        case DLL_PROCESS_ATTACH:
                {
                        //        初始化代码应该写在这里
                }
                break;
        case DLL_THREAD_ATTACH:
                //        这里是每创建一个线程会调用一次
                break;
        case DLL_THREAD_DETACH:
                //        这里线程结束会调用一次
                break;
        case DLL_PROCESS_DETACH:
                //        这里自身DLL被卸载会调用
                break;
        }
        return TRUE;
}
2011-9-19 15:18
0
雪    币: 343
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
我估计楼主也是写在DllMain里的,如果是的话,可以使用DisableThreadLibraryCalls。
2011-9-19 15:23
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢,我按你说的方法再做一次。。
2011-9-19 15:31
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢你,这样做确实好,但是我想知道为什么。
2011-9-19 15:36
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
DisableThreadLibraryCalls怎么弄,能说一下嘛?
2011-9-19 15:37
0
雪    币: 962
活跃值: (1681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
,,,,,什么叫为什么? 这个是操作系统是这样设计的。。没有为什么。。要问为什么这么设计的话 得问问微软的程序员了
DisableThreadLibraryCalls是禁止系统创建线程的回调 用了之后创建线程就不会弹messagebox 了 不过 进程结束或者自己的dll卸载的时候还是一样会弹一次
具体用法可以百度之
2011-9-19 16:28
0
雪    币: 343
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
楼上已经替我解答了,可以MSDN之。
2011-9-20 14:33
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
9
DllMain里少放MessageBox.
要善用工作者线程,异步处理.
2011-10-28 10:13
0
游客
登录 | 注册 方可回帖
返回
//