广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python分析实现微信钉钉等软件多开分身
  • 919
分享到

python分析实现微信钉钉等软件多开分身

2024-04-02 19:04:59 919人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目前很多软件都限制单实例,大多数软件都是用Mutex来实现的 而这个东西咱们可以用handle去干掉它,并且不影响使用。 钉钉也是一样的步骤 不过Mutex的名字不一样 我测试的钉钉

目前很多软件都限制单实例,大多数软件都是用Mutex来实现的 而这个东西咱们可以用handle去干掉它,并且不影响使用。 钉钉也是一样的步骤 不过Mutex的名字不一样 我测试的钉钉的是:

”\Sessions\1\BaseNamedObjects\{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk“

这里要借助微软的两个软件 分别是:procexp handle

接下来开始正文:

首先咱们要手动判断下Mutex是哪个。

这就要用到procexp.exe了 以管理员身份运行该程序。

选中微信进程 按Ctrl+L 就会出现图中下半部分。

在软件中我们可以找type 是Mutant 的 然后右键有个关闭 一个一个试 这里我已经试过了就不演示了 直接给大家

name \Sessions\1\BaseNamedObjects\WeChat_GlobalConfig_Multi_Process_Mutex

到这一步之后 这个工具的使命就完成了!接下来该使用handle了 在cmd 输入下面的代码


handle -a -u -p 12668 "\Sessions\1\BaseNamedObjects\WeChat_GlobalConfig_Multi_Process_Mutex"

然后我们在去关闭下这个句柄就可以了


handle -p 12668 -c 460 -y

注意:这句代码需要管理员权限

然后我们再去打开微信就可以了。

下面我们用python去实现下

代码可能和分析不太一样 因为

"\Sessions\1\BaseNamedObjects\WeChat_GlobalConfig_Multi_Process_Mutex"

中的1 有时候会变成其他数字,所以我用了匹配规则

把代码和handle.exe 放在一个目录下


import os
import re
import psutil
 
 
def get_pid(name):
    """
    获取所有的微信进程
    """
    process_list = psutil.pids()
    pids = []
    for pid in process_list:
        if psutil.Process(pid).name() == name:
            pids.append(pid)
    return pids
 
 
def more_open(path):
    pids = get_pid("WeChat.exe") 
    for pid in pids:
        #遍历所有微信的pid 把 Mutex都干掉
        cmd = f"handle -a -u -p {pid}"
        with os.popen(cmd) as f:
            result = f.read()
        search_result = ""
        for i in result.split("\n"):
            if i.strip():
                if i.strip().endswith("_WeChat_App_Instance_Identity_Mutex_Name"):
                    search_result += i
        if not search_result:
            os.startfile(path)
            continue
        re_result = re.findall('(\d+): Mutant', search_result, re.S)
        #上面这个循环是匹配 Mutex的handle
        if re_result:
            for _id in re_result:
                os.system(f'handle -p {pid} -c {_id} -y')
            os.startfile(path)
 
path = "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
more_open(path)

到此这篇关于Python分析实现微信钉钉等软件小号多开的文章就介绍到这了,更多相关python 微信多开内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python分析实现微信钉钉等软件多开分身

本文链接: https://www.lsjlt.com/news/139556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python分析实现微信钉钉等软件多开分身
    目前很多软件都限制单实例,大多数软件都是用Mutex来实现的 而这个东西咱们可以用handle去干掉它,并且不影响使用。 钉钉也是一样的步骤 不过Mutex的名字不一样 我测试的钉钉...
    99+
    2022-11-13
  • python怎么实现微信钉钉等软件多开分身
    今天小编给大家分享一下python怎么实现微信钉钉等软件多开分身的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。目前很多软件都...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作