标题: 同时启动Skype.exe的多个实例 创建: 2006-10-31 17:24 链接: https://scz.617.cn/misc/200610311724.txt 我们修理的Skype.exe属性如下: -------------------------------------------------------------------------- 文件版本 : 2.5.0.91 产品版本 : 2.5 BuildTime : 22.05.2006 13:06:54 文件大小 : 20,440,616字节 语言 : 英语(美国) -------------------------------------------------------------------------- 从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将无法启动,实测无误。 修改二进制文件: -------------------------------------------------------------------------- 006D2A2E /74 0A je short 006D2A3A -------------------------------------------------------------------------- 006D2A2E /74 06 je short 006D2A36 -------------------------------------------------------------------------- 这样处理后的Skype_new.exe可以直接启动多个实例。也可以写个loader在内存中动 态patch,参看更新后的skypeloader.exe: https://scz.617.cn/misc/skypeloader.exe 更新后的skypeloader.exe与原skypeloader.c不匹配,放在Skype.exe所在目录,双 击执行。可以绕过对SoftICE的检测,允许同时启动多个Skype.exe实例,支持明文日 志。 实测表明本机启动的多个Skype.exe实例之间可以即时聊天、语音通信。 同时启动多个Skype.exe实例有一定意义,比如方便同时调试C/S。