Python操作微信的最新办法!(附破解文件和代码)

本文我将给大家讲解微信机器人的制作,首先要跟大家说的就是:机器人不管是 QQ 机器人还是微信机器人,相对而言是比较灰色地带,本文中提供的几种方式,经过本人亲自测试,是很好用的!如果有需要,赶紧看看,这种东西不知道哪天就会没了,你懂得!

image

目录

  1. 微信机器人基础知识
  2. 前期配置
  3. 微信机器人实现代码
  4. Itchat 实现微信机器人(拉黑检测)

1. 微信机器人基础知识

1.1 微信机器人实现方式

目前来说微信机器人有以下几种实现方式:

  • Web 网页端:2017年后不再支持新号登陆,仅支持老号,且掉线严重,容易被封号;
  • Xposed:在 2019年6月份,微信官方在行业重点打击 Xposed;
  • PC Hook:代码注入型破解,封号情况也多,比较偏小的团队使用;
  • 模拟机:延迟高、消息实时到达率低、模拟认为操作效率慢;
  • Ipad 协议:安全性较好,功能满足,行业占有率高,但具有研发能力的研发人员偏少;
  • Mac 协议:安全性相比 Ipad 协议更好,功能性相比 Ipad 协议少些,行业内具有研发能力更少,安全性、稳定性比较优秀,不会出现追封、批量封的情况;
  • 混合通道:基于 Mac 与 Ipad 协议,非 grpc,mmtls 破解,功能合适,微信第三方最稳定通道,不会出现技术封号问题;

第一种:是使用 Web 网页端,你要理解我们是如何实现微信机器人的,其实我们就相当于去使用程序的方式去模拟我们人的操作,所以说:只要你有能够发微信的渠道,那我们就可以使用编程方式去操控,所以最简单最容易想到的就是 Web 网页端的操作。在 17年之前,我们是可以登陆网页端的,可以去操作的。但是,出现了 Mac、Windows 客户端之后,就逐渐的被淘汰了。你们大部分去查的就都是网页端或者基于网页端,这个方法我会给大家讲解。但有些小伙伴的微信实际上是用不了这个方法的。

第二种:其实就是 Xposed ,这个其实我们现在主流的两大手机系统:IOS、Android,安卓我们知道是个开源的框架,那我们开发者是可以进行调整或者植入一些所需要的操作。那 Xposed 你简单的理解:从整个系统层面,去做出一些改进,类似劫持(控制)微信消息的收发或者一些功能(改变定位之类的)。但从 在 2019年6月份,微信官方在行业重点打击 Xposed。因为像营销类、骗子等也会去用这样的一些技术,所以是导致官方非常重点的在打击。这样看来,这方法貌似也不是那么稳妥的方法。

第三种:利用的是电脑上的微信客户端,将代码注入客户端里面,我们去截获收发消息,这也是我们今天主要用到的方式,这其实就是不要太过分(骚人他人之类的,个人使用微信官方一般不会去搞你的)

第四种:如果你做过手机开发的话,应该会知道,在模拟机上面让我做软件的这种操控。但延迟高、消息实时到达率低、模拟认为操作效率慢。

第五种:另外我们是知道,在 Ipad 上面也是有微信客户端的,也就是如果可以破解掉微信客户端里面的协议,这也是一种方式。安全性较好,功能满足,行业占有率高,但具有研发能力的研发人员偏少。(使用 Ipad 原本就比较少,有开发能力的就更少了)

第六种:安全性相比 Ipad 协议更好,功能性相比 Ipad 协议少些,行业内具有研发能力更少,安全性、稳定性比较优秀,不会出现追封、批量封的情况。

第七种:还有一种就是把 Mac 与 Ipad 结合,基于 Mac 与 Ipad 协议,非 grpc,mmtls 破解,功能合适,微信第三方最稳定通道,不会出现技术封号问题;

image

1.2 本文主要会讲两种

  • 基于 PC Hook
  • 基于 Web 网页端

2. 前期配置

有同学可能会问,我要不要了解软件开发之类的?其实不用,我主要是站在前人的基础之上操作的。

2.1 那一定要注意的两件事情是:

第一件:

  • PC Hook 得在 Windows 系统上操作
  • 使用 Mac 的同学可以装 VirtualBox 虚拟机

第二件:

我们一般装 Python 的时候,大部分装的是 64位的 Python。但是 Windows 的微信客户端是 32 位程序,我们需要 32位的 Python 完成后面的操作,注意:也要勾选 Add to path。所以,我们需要安装一个 Python 32 位的。

2.2 修改 32位 Python 名称方便区分

一般来说,你安装了 Python 32位而你电脑本身又有 Python 64位,就已经有了两个 Python,所以我们需要做一个区分。

首先找到 Python 的安装位置,一般在:C:\Users\clela\AppData\Local\Programs\Python, clela:用户名,按你自己的来。

当然,如果你不知道路径在哪,也可以在命令行输入:wherePython

image

上面的 C:\Users\clela\AppData\Local\Programs\Python\Python36-32\python.exe 这个就是我安装的 python 3.6的 32位路径。具体看你自己安装的 Python 版本是多少,比如:是 Python 3.7 那路径就表示:C:\Users\clela\AppData\Local\Programs\Python\Python37-32\python.exe 其他的规律皆为如此。

那我们要做的一件事情是什么呢?

就是我平时用的最多的是 Python 64位,32位的 Python 只是为了做我们这个机器人项目,一般用不太到,所以我把 32位和 64位做一个区分。

怎么区分呢?

把 32 位 Python 的目录下面的 Python.exe 改名字,改为 python32.exe,以次用来和原来的 64为 Python 区分。(这个情况是你之前装的是 64位的话,要是 32位则不用)

image
  1. 这样你在控制台里面输入 Python 就是正常的 Python64位了,我如果输入 Python32 那这个时候就是 Python32 位。同学们可以自行验证一下。
  2. 重新打开命令行输入 python32 会打开 32位的 Python。
image

[MSC v.190032bit(Intel)] 就是 32位, [MSC v.191664bit(AMD64)]就是 64位。

接下来启动我们微信机器人的 Python代码时都要输入:

image

2.3 安装指定版本微信

不同版本的微信客户端注入时的地址有差异,2.6.7.40 版本的微信客户端可以正常使用。

3. 微信机器人实现代码

3.1 打开项目文件夹,确认必要的文件都在

本课程提供专有的资料包。文末提供获取方式!

确认 WechatBot.py、 WeChatSDK.all、 WeChatSDKCore.dll 都在,然后打开 test_bot.py 文件

image

我给大家写了 WechatBot.py 文件,这些代码文件都要放在一起,而我们接下来要写的就是 test_bot.py,WechatBot 是我简单写个一个文件,同学们把他引用就 ok 了。

3.2 微信机器人的实用方法

顺序:登录 >>> 指定接收消息的处理函数 >>> 初始化 >>> 主循环运行我来说一下用法是:

image
  1. 登录
  2. 指定接收消息的处理函数(就是如果我们收到消息了,用哪个函数来处理)
  3. 初始化
  4. 主循环运行

首先把我写的机器人 WechatBot 导入:

image

然后实例话:

image

接下来,第一步先 login:

image

注意:你运行之前,可以不用提前打开微信客户端。

  1. 登录:因为,这行代码: bot.login() 一运行就会自动的把微信客户端打开。然后打开之后,这时候你在登陆(扫码登陆都 ok 的)这些操作之后,他就会自动的往后运行。
  2. 指定接收消息的处理函数:然后,我自己写了一个函数: print_msg, 这个函数名你可以自己命名,也就是这个函数的作用就是,我微信如果收到消息,我就用这个函数来帮助我处理消息。bot.set_msg_handler(print_msg) 收到了消息找哪个函数,这里我们找:print_msg。
  • 初始化:然后,这些完成之后,我们做初始化的操作,代码如下:
image

初始化完成之后,你就可以发消息或者等着吧。

image

一个名称:filehelper(发给谁也就是 wxid) 然后,你要发的内容:datetime.now()(你可以发其他内容)

注意:上面自定义函数 print_msg 自定义的时候必要要留有三个参数给这个函数:pid,wxid,msg

  • pid:当前微信客户端运行的进程标识符;
  • wxid:就是你每一个微信号都有一个 wxid,就类似微信号是唯一的一样(但是,这个 wxid 不一定等同于你的微信账号,它有可能是,人为设定的,还有一些没有设定的,就像是 wxid_xxxx 之类的)这个就是你在收到消息,这个发消息的这个人或者群组的这个人或者群的 wxid。如果你要给这个人发消息,那就照这个 wxid 来发。不建议你调过 wxid 来发送消息,因为有些人没有设置微信账号。
  • msg:对方发来的消息具体是什么。

3.3 非文字消息的格式

公众号也是有 wxid 的。

  • 公众号 WXID gh_332c335fdd4e
  • 消息内容:XML 格式
image

3.4 XML 格式的读取

如果你要解析 XML 的话,需要安装 xmltodict 模块, pip install xmltodict

image

大概就是这个样子,功能大概没有那么全,但是基本的接受和发送时 ok 的,这个已经足够我们去做一些事情了。

3.5 扩展

如果你要指定的收发消息,可以修改如下地方代码:

image

运行效果如下:

image

4. Itchat 实现微信机器人(拉黑检测)

你好,我是悦创。

我们接下来来讲一下微信机器人的第二种方法:itchat 的使用,利用网页端的功能来实现编程控制的方式。

1. Itchat 使用

1.1 关于 ItChat 的使用

有的账号时不能使用网页微信进行登陆的,因此就无法使用 ItChat ,没有任何解决方法,此外使用 ItChat 发消息过于频繁会有很大的风险被限制登陆。一定注意酌情使用!

image

单纯的收发消息还是可以的,不要过度的使用。

1.2 安装 itchat

1.3 最简单的例子

登陆微信然后给文件传输助手发一条消息

image
image

1.4 消息回复

1.4.1 接收到文字消息时调用函数处理:

import itchat@itchat.msg_register(itchat.content.TEXT) # itchat 将根据接收到的消息类型,寻找对应的已经注册的方法 @itchat.msg_register(itchat.content.消息类型)def text_reply(msg):return msg.text # 人家给我发什么消息我就回什么itchat.auto_login()itchat.run()

消息类型有以下这些:

image

1.4.2 根据微信文本内容回复消息

image

1.5 微信拉黑

这里用itchat实现以下微信删除和拉黑的案例,供大家参考。一言不合上代码:

image

更多干货内容,欢迎关注公众号:知了python

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354