# 微信机器人之多开原理 **Repository Path**: oncn/open-more ## Basic Information - **Project Name**: 微信机器人之多开原理 - **Description**: 微信普通号机器人,微信机器人之多开原理,讲解PC微信多开原理,欢迎技术交流 - **Primary Language**: C++ - **License**: Artistic-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-07-18 - **Last Updated**: 2021-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微信机器人之多开原理 #### 介绍 微信机器人之多开原理 #### 软件架构 大家都知道,正常情况下,电脑微信客户端只能打开一个微信,如果再次点击是没法打开第二个的。微信是怎么实现,禁止一个客户端打开多个微信的呢? #### 安装教程 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0325/101251_41c45239_1331870.png "屏幕截图.png") #### 使用说明 微信每次启动的时候,都调用:OpenMutexA( )函数,微信有一个自己的互斥体名称,每次调用这个函数,如果函数返回真,则说明找到了,说明微信已经打开一个了。他就不让再打开第二个了。如果没找到,就打开一个新微信,就是这个原理实现的。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0325/101314_c780966a_1331870.png "屏幕截图.png") 在OD中(如下图),用快捷键Ctrl+G ,弹出搜:CreateMuteW(微信是宽字符) ,搜索之后,下断点, ![输入图片说明](https://images.gitee.com/uploads/images/2021/0325/101332_59be627b_1331870.png "屏幕截图.png") 断点之后,找到该函数,其中有三个参数:一个是互斥体名称,一个是bool值,一个他写的null ![输入图片说明](https://images.gitee.com/uploads/images/2021/0325/101346_04ed74b2_1331870.png "屏幕截图.png") 然后用CE 找他他这个名称,把他的互斥体名称改掉,如下图: ![输入图片说明](https://images.gitee.com/uploads/images/2021/0325/101406_baac8a8f_1331870.png "屏幕截图.png") 改掉之后,在OD里面把断点取消,然后自动就启动了一个微信。然后在自己电脑上,再点击微信图标,打开,就又打开一个微信。这样就打开了两个微信,实现了多开。 现在已经实现了: 1.获取登陆二维码,登陆信息 2.获取用户或自己信息 3.好友操作,自动同意好友申请,删除好友,无痕清理僵尸粉,添加好友,添加群成员等。 4.群操作,创建群聊,删除并退出群聊,邀请好友进群,获取群聊列表,获取群成员,群成员退出通知,新增群成员通知 进群通知 5.消息操作:发送文本,@群成员,发送名片,链接,图片,文件,视频,表情等消息,防撤回,发送小程序,消息转发。 6.文件操作:下载接码图片。支持多开 7.接收各种消息 等等更多功能未一次写完,可二次开发。 支持各种语言调用封装接口,灵活实现各种功能,方便二次开发。 Q:2645542961,欢迎技术交流 等等有趣的功能,可提供接口,欢迎交流。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0325/101842_50a84079_1331870.jpeg "有联系人新版.jpg")