测试版本号:
达到效果:
想法:微信无法多开事实很可能上是通过windows客户端使用一个叫做mutex的互斥量来完成的,通过创建一个全局的互斥量来使第二个新进程不继续正常运行,而是把旧的微信窗口弹到桌面最前端。
使用ida打开wechat.exe后按照想法可以在导入表中搜索名为createmutex的函数,但是很遗憾搜不到:但是我们找到了这些函数:
有可能是通过遍历进程表来完成防止多开的吗?
通过分析调用这些api的函数并不是防止多开用的,我猜想很可能是用来检测更新,然后强行终止正在运行的微信:
但是通过对这个函数查找查找交叉引用,可以直接找到winmain函数。
在通过对winmain函数分析发现这个函数其实是微信已经成功启动了以后才调用的。
关键点: