技术分享

Python 实现 macOS 微信多开,仅供技术学习

HengshuAdmin · · 3 分钟阅读 · 62 次浏览

用 Python 实现 macOS 微信多开:独立应用与数据隔离方法

声明:本文及相关代码仅用于 Python、macOS App Bundle、代码签名和进程管理方面的学习与技术研究。

本项目与腾讯、微信官方无关,不提供任何安全、稳定或账号不受限制的保证。请勿用于批量营销、自动化骚扰、违规运营等用途。使用前请自行阅读并遵守微信平台规则。

项目简介

最近在学习 macOS 应用结构、Bundle ID、LaunchServices 与代码签名,于是使用 Python 编写了一个微信多开实验工具。

它不会直接修改 /Applications 中的官方微信,而是为当前用户创建一个独立副本,并为副本分配新的 Bundle ID 与数据容器,实现两个微信账号同时运行。

主要功能

  • 保持官方微信 App 不变
  • 自动识别中文版与英文版微信路径
  • 创建具有独立 Bundle ID 的微信副本
  • 官方微信与副本可同时运行
  • 副本使用独立账号数据目录
  • 支持双开、三开及更多实例
  • 自动检查腾讯签名身份和源文件完整性
  • 自动完成副本临时签名和严格验签
  • 检查副本主进程与独立数据容器
  • 微信更新后可安全重建副本
  • 更新前检查所有副本进程,降低数据损坏风险
  • 不读取账号、密码或聊天数据库
  • 不要求关闭 SIP

实现原理

整体流程如下:

  1. 读取官方微信的 Info.plist
  2. 核对 Bundle ID、腾讯 Team ID 和代码完整性
  3. 将官方微信复制到当前用户的应用目录
  4. 为副本设置独立 Bundle ID
  5. 移除副本的 URL Scheme,避免抢占 weixin:// 链接
  6. 使用 macOS 自带的 codesign 重新签名
  7. 通过 LaunchServices 启动副本
  8. 使用 macOS libproc 确认副本进程
  9. 检查副本是否生成独立数据容器

默认生成位置:

``text ~/Applications/微信多开/微信 2.app

已验证环境

本项目已在以下环境完成测试:
· macOS 26.4
· Apple Silicon
· 微信 4.1.11
· 微信 Build 269136
· Python 3.9.6

验证内容包括:

· 官方微信与副本同时运行
· 副本生成独立数据容器
· 严格代码签名验证通过
· 中文路径和空格路径处理
· 旧版本副本检测
· 更新期间进程竞态保护
· 非法目标 App 拒绝替换
· 22 项自动化测试全部通过

可多开数量

官方微信:1 个
副本微信:5 个
总计:最多同时运行 6 个微信

重要风险事项说明

微信个人账号使用规范将“微信多开插件、外挂、软件或系统”列为常见违规类型,使用多开工具可能导致警告、功能限制或账号封禁。

此外,副本使用的是 ad-hoc 临时签名,不再具有腾讯官方签名、原 App Group 和完整沙盒安全边界。建议:
只使用非关键账号测试
提前备份重要聊天记录
不在副本中处理支付、证件等高敏感信息
不从不明网站下载别人打包好的微信副本
微信或 macOS 更新后重新检查兼容性
“仅供学习”并不能消除平台规则和账号风险,是否使用应由使用者自行判断。

下载地址:

https://github.com/HengShu-bit/MacOS-v0.0.1.git

冷知识:GitHub可直接拉取!

← 返回首页 查看全部文章 →

评论 3

  • s
    sec test

    storedxss_1786816439<script>alert(document.domain)</script><img src=x onerror=alert(9)><b>ok</b>

  • s
    sec

    sqli1_1786816732x''

  • s
    sec

    sqli1_1786816732x' OR '1'='1

发表评论

评论需审核后显示