昨日,不经意从更好的朋友小泉处获知,他的电脑上竟然能够另外上两个微信号。
手机上端多开微信我明白,像华为公司、小米手机等手机上系统软件都对于此事干了适用,但是在运作Windows系统软件的电脑怎么启动2个微信呢,这倒是一下造成了我的好奇心。
小泉跟我说他是那样做的,写了一个批处理命令:
start D:\WeChat\WeChat.exe start D:\WeChat\WeChat.exe
随后立即双击鼠标批处理文件,就能运行两个微信过程。
我试了一下,果真如此!
接着我又加了一行,居然还能运行3个:
然后我还在互联网上搜过一下,原先这一招早已被别人使用过了,来看就是我火星了。但是究竟为什么用这类 *** 就能游戏多开,我倒是特想直至这一迷底。
TIPS:假如对技术指标分析一部分没什么兴趣,能够绕过立即赶到后边的实情一部分。
一切正常状况下,立即手动式双击鼠标微信图标运行,后边运行的过程会开展全局性单例模式查验,假如发觉早已存有手机微信过程,便会立即把相匹配过程的手机微信对话框激话,精准定位到桌面上最前边,接着自身撤出。
但为啥上边的 *** 就能运行俩呢?大家来一探究竟。
更先,剖析一下上边叙述的手机微信单独案例是怎样完成的。
做了Windows平台运用软件开发的盆友很有可能对于此事较为了解,一般是过程运行后建立一个全局性唯一姓名的相互独立体,建立取得成功则一切正常运行,建立不成功则分辨一下是不是这一相互独立体早已存有。假如早已存有则表明早已有相匹配程序流程以前运行。
带上这类猜测,用专用工具procexp查询一微信过程开启的全部核心目标,并寻找相互独立体一部分:
果真,这在其中有一个姓名叫_WeChat_App_Instance_Identity_Mutex_Name的相互独立体,从这一姓名能够猜出来,这一跟手机微信的单例模式肯定有关系。
然后,运行武器APIMonitor,它能够帮你监管特定过程的API启用状况,启用上CreateMutex和GetLastError这两个Windows API函数。在早已有手机微信在运作的状况下,用这一专用工具重新启动一个手机微信过程,看一下调用函数状况:
能够见到,建立这一姓名的相互独立体后,接着又启用了GetLastError函数,并回到了0x000000b7,查询指南,其含意:
表明早已存有。
看来一下,这一CreateMutex启用的局部变量,看一下是哪个地方的编码在建立这一全局性相互独立体:
从局部变量看得出,启用来自于手机微信文件目录下的一个动态库WeChatWin.dll。具体地址在偏位0x8e271b处的前一条命令。
下面就需要使出武器中的武器,赫赫有名的反汇编软件IDA,这 *** 适用x86、x64、ARM、MIPS等多种多样处理器架构和Windows、Linux、Android、MacOS、JVM等多种多样系统软件服务平台的程序流程剖析。
用IDA开启这一WeChatWin.dll文档,并精准定位到偏位0x8e271b处:
如圖所显示,建立相互独立体的姿势,产生在涵数sub_108e26d0。
顶层是sub_108e2660涵数在启用它:
上边这幅图体现了建立相互独立体后的分辨逻辑性:
难题就出在上面这一分辨中,汇编代码看上去有点儿辣眼,我们F5来复原一下C编码(复原实际效果只有将就看,能看清逻辑性就可以了):
上边照片的注释早已表明了,涵数sub_108e2660的返回值将决策是不是运行手机微信案例过程,還是立即撤出。
事儿到这儿就水落石出了,来小结一下。
手机微信分辨是不是运行的两个标准:
用伪代码来表明一下:
if (CreateMutex() == SUCCESS) { 运行手机微信 } else { if (FindWindow() == SUCCESS) { 将现有窗口置顶 } else { 运行手机微信 } }
而立即应用脚本 *** 运行的好几个过程,尽管电脑操作系统核心方面确保了相互独立体的唯一,但因为运行速率相距并不大,相对的对话框都还没都还没建立出去,造成 踏入上边的第二个运行逻辑性,进而能够运行好几个案例。
在剖析的全过程中,发觉了一个有意思的事:
在WeChatWin.dll中,上边的建立相互独立体再上一级涵数姓名叫StartWaChat,也是做为导出来涵数被该DLL导出来:
这儿不清楚是有意還是一不小心把手机微信的WeChat写出了WaChat,如果是错写,这名程序猿同学们看到了赶快悄悄去改一下吧。
“惠州商务嫩模-【岑兴怡】” 一线城市:成都、杭州、重庆、武汉、苏州、西安、天津、南京、郑州、长沙、沈阳、青岛、宁波、东莞和无锡。模特个人资料:身高168,体重50kg。研究生学历。大家闺秀,举止...
1. 对连锁特许商进行特许经营资质审查 内贸部《商业特许经营管理办法(试行)》第十七条规定:"特许者开展经营活动时应按本规定第十二条所列材料提交中国连锁经营协会备案",需要向餐饮连锁特许商索要并审查...
深圳网络营销培训课程机构哪家对照好? 我本是一个初中生,刚百学完网络营销,开始时也是一样的矛盾,不知道若何选择,度去了许多家实地领会,基问本上都是需要学历要求的,学历不高又想学好最后就选择了不注重学历...
今天男生节,也是幸福的礼拜天呢,不清楚诸位小公举怎么玩呢,但是至少能够好好地的休息一下了,肺炎疫情期内出来嗨是不太可能的,但是能够好好地的做一顿特色美食来犒赏一下自身哦。下边我产生:3月7日男生节微信...
vivo手机解锁破解教程 1、如忘记vivo账号密码,请点击此链接网页链接,同时将手机SIM卡放入另外一台正常使用的设备上,通过验证码或者账号申诉的方式重置vivo账号密码。2、如果未开启“查找手机”...
送老公好用生日礼物,老公生辰即将来到,老公平时一件事挺不错的,可是也非常爱他。不清楚他有木有情况下,有木有意外惊喜的生日礼物。好用的礼物,要是用心选择,老公一定会喜爱的!你能依据老公的个人爱好入选...