标题: 同时启动Skype.exe的多个实例
创建: 2006-10-31 17:24 链接: http://scz.617.cn/misc/200610311724.txt
我们修理的Skype.exe属性如下:
从1.1.0.79至2.5.0.151版,Skype.exe都不允许多个实例存在,只能启动一个实例。
Skype.exe启动时创建有名互斥锁,检查GetLastError()返回值是否等于 ERROR_ALREADY_EXISTS,以此阻止启动第二个实例。
以2.5.0.91版为例:
006D2A22 call sub_734234 006D2A27 cmp [ebp+var_C], 0B7h ; ERROR_ALREADY_EXISTS 006D2A2E jz short loc_6D2A3A
如果我们提前恶意创建有名互斥锁,Skype.exe将无法启动,实测无误。
修改二进制文件:
这样处理后的Skype_new.exe可以直接启动多个实例。也可以写个loader在内存中动 态patch,参看更新后的skypeloader.exe:
http://scz.617.cn/misc/skypeloader.exe
更新后的skypeloader.exe与原skypeloader.c不匹配,放在Skype.exe所在目录,双 击执行。可以绕过对SoftICE的检测,允许同时启动多个Skype.exe实例,支持明文日 志。
实测表明本机启动的多个Skype.exe实例之间可以即时聊天、语音通信。
同时启动多个Skype.exe实例有一定意义,比如方便同时调试C/S。