首页
社区
课程
招聘
[求助]如此防进程多开
发表于: 2013-1-22 10:17 6485

[求助]如此防进程多开

2013-1-22 10:17
6485
一个程序,已知道用CreateMutexA函数互斥进程多次运行,现HOOK该函数后可以多开该程序。现出现如下情况:
1、用多开器开启第一个程序进程后,其中的一个线程创建了主窗口,该进程运行一切正常(约50+个线程);
2、随后用多开器开启的第二--->第N个该实例进程均只有2个线程(任务管理器可以看到,该进程CPU使用率为0),没有可见的窗体运行;
3、尝试把第一个进程主窗体关闭掉,则该进程正常退出后,此时会从剩下的第二---第N个进程中随机(感觉)激活一个进程,然后该进程中一个线程创建主窗体,然后该进程一切运行正常,以此类推;
4、在任务管理器中,如果尝试把正常运行的进程(已经创建并显示主窗体)结束掉的话,此时余下的该实例进程都会自动关闭掉。

请问该程序实例是采取了什么方法来防止实例多次运行的?

求教育。。。

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶下,直到大牛来帮俺解决,补充:上述问题,如何让其他实例进程正常创建窗体并正常运行之?而不是只有进程而没有主窗体?
2013-1-22 10:49
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我再顶,没有人帮忙解决吗
2013-1-22 19:23
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
自己处理互斥!
2013-1-22 23:01
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=exediy;1137317]自己处理互斥![/QUOTE进程互斥已经解决了,不知进程的窗口对话框为什么不正常弹出?
2013-1-24 01:29
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
互斥已经解决了,后来用仔细梳理了下,该程序可以多开了,但是多开的几个程序运行不久,只留下一个正常可以与远程服务器通信,余下的其他都提示语服务器断开,我猜测改程序在服务器端会判断我电脑的IP是否同一个或者连接数>=什么的,请问如果我猜测正确的话,是不是要HOOK API函数getipbyhostname  或者gethostnamebyIP什么的??求指教[/B]
2013-1-26 18:12
0
雪    币: 209
活跃值: (778)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
干革命工作要求实、严谨!不能来虚的...
你还在猜测?...
操起IDA、OD、WinDBG,老老实实一步一步跟踪下,
彻底弄清它的防多开手段,再用相应的手段解决它!
貌似一般的防多开最少都有十几种手段的...
2013-1-26 18:59
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

我IDA了,发现有敏感API   getipbyhostname  或者gethostnamebyIP
;所以正正在以这方面入手。

另请教下:xuetr工具里面进程句柄名称指的是什么?指的是接受函数返回句柄值的变量名吗?若是,那么XUETR是如何获取到的那?
2013-1-26 20:04
0
游客
登录 | 注册 方可回帖
返回
//