Python操作微信的最新辦法Q刚ぁ(附破解文件和代碼)

本文我將給大家講解微信機(jī)器人的制作,首先要跟大家說(shuō)的就是:機(jī)器人不管是 QQ 機(jī)器人還是微信機(jī)器人晴玖,相對(duì)而言是比較灰色地帶库继,本文中提供的幾種方式箩艺,經(jīng)過(guò)本人親自測(cè)試,是很好用的宪萄!如果有需要艺谆,趕緊看看,這種東西不知道哪天就會(huì)沒(méi)了拜英,你懂得静汤!

image

目錄

  1. 微信機(jī)器人基礎(chǔ)知識(shí)
  2. 前期配置
  3. 微信機(jī)器人實(shí)現(xiàn)代碼
  4. Itchat 實(shí)現(xiàn)微信機(jī)器人(拉黑檢測(cè))

1. 微信機(jī)器人基礎(chǔ)知識(shí)

1.1 微信機(jī)器人實(shí)現(xiàn)方式

目前來(lái)說(shuō)微信機(jī)器人有以下幾種實(shí)現(xiàn)方式:

  • Web 網(wǎng)頁(yè)端:2017年后不再支持新號(hào)登陸,僅支持老號(hào)居凶,且掉線嚴(yán)重虫给,容易被封號(hào);
  • Xposed:在 2019年6月份侠碧,微信官方在行業(yè)重點(diǎn)打擊 Xposed抹估;
  • PC Hook:代碼注入型破解,封號(hào)情況也多弄兜,比較偏小的團(tuán)隊(duì)使用药蜻;
  • 模擬機(jī):延遲高、消息實(shí)時(shí)到達(dá)率低替饿、模擬認(rèn)為操作效率慢语泽;
  • Ipad 協(xié)議:安全性較好,功能滿足视卢,行業(yè)占有率高踱卵,但具有研發(fā)能力的研發(fā)人員偏少;
  • Mac 協(xié)議:安全性相比 Ipad 協(xié)議更好据过,功能性相比 Ipad 協(xié)議少些惋砂,行業(yè)內(nèi)具有研發(fā)能力更少,安全性绳锅、穩(wěn)定性比較優(yōu)秀西饵,不會(huì)出現(xiàn)追封、批量封的情況榨呆;
  • 混合通道:基于 Mac 與 Ipad 協(xié)議,非 grpc庸队,mmtls 破解积蜻,功能合適,微信第三方最穩(wěn)定通道彻消,不會(huì)出現(xiàn)技術(shù)封號(hào)問(wèn)題竿拆;

第一種:是使用 Web 網(wǎng)頁(yè)端,你要理解我們是如何實(shí)現(xiàn)微信機(jī)器人的宾尚,其實(shí)我們就相當(dāng)于去使用程序的方式去模擬我們?nèi)说牟僮鞅瘢哉f(shuō):只要你有能夠發(fā)微信的渠道谢澈,那我們就可以使用編程方式去操控,所以最簡(jiǎn)單最容易想到的就是 Web 網(wǎng)頁(yè)端的操作御板。在 17年之前锥忿,我們是可以登陸網(wǎng)頁(yè)端的,可以去操作的怠肋。但是敬鬓,出現(xiàn)了 Mac、Windows 客戶端之后笙各,就逐漸的被淘汰了钉答。你們大部分去查的就都是網(wǎng)頁(yè)端或者基于網(wǎng)頁(yè)端,這個(gè)方法我會(huì)給大家講解杈抢。但有些小伙伴的微信實(shí)際上是用不了這個(gè)方法的数尿。

第二種:其實(shí)就是 Xposed ,這個(gè)其實(shí)我們現(xiàn)在主流的兩大手機(jī)系統(tǒng):IOS惶楼、Android右蹦,安卓我們知道是個(gè)開(kāi)源的框架,那我們開(kāi)發(fā)者是可以進(jìn)行調(diào)整或者植入一些所需要的操作鲫懒。那 Xposed 你簡(jiǎn)單的理解:從整個(gè)系統(tǒng)層面嫩实,去做出一些改進(jìn),類似劫持(控制)微信消息的收發(fā)或者一些功能(改變定位之類的)窥岩。但從 在 2019年6月份甲献,微信官方在行業(yè)重點(diǎn)打擊 Xposed。因?yàn)橄駹I(yíng)銷類颂翼、騙子等也會(huì)去用這樣的一些技術(shù)晃洒,所以是導(dǎo)致官方非常重點(diǎn)的在打擊。這樣看來(lái)朦乏,這方法貌似也不是那么穩(wěn)妥的方法球及。

第三種:利用的是電腦上的微信客戶端,將代碼注入客戶端里面呻疹,我們?nèi)ソ孬@收發(fā)消息吃引,這也是我們今天主要用到的方式,這其實(shí)就是不要太過(guò)分(騷人他人之類的刽锤,個(gè)人使用微信官方一般不會(huì)去搞你的)

第四種:如果你做過(guò)手機(jī)開(kāi)發(fā)的話镊尺,應(yīng)該會(huì)知道,在模擬機(jī)上面讓我做軟件的這種操控并思。但延遲高庐氮、消息實(shí)時(shí)到達(dá)率低、模擬認(rèn)為操作效率慢宋彼。

第五種:另外我們是知道弄砍,在 Ipad 上面也是有微信客戶端的仙畦,也就是如果可以破解掉微信客戶端里面的協(xié)議,這也是一種方式音婶。安全性較好慨畸,功能滿足,行業(yè)占有率高桃熄,但具有研發(fā)能力的研發(fā)人員偏少先口。(使用 Ipad 原本就比較少,有開(kāi)發(fā)能力的就更少了)

第六種:安全性相比 Ipad 協(xié)議更好瞳收,功能性相比 Ipad 協(xié)議少些碉京,行業(yè)內(nèi)具有研發(fā)能力更少,安全性螟深、穩(wěn)定性比較優(yōu)秀谐宙,不會(huì)出現(xiàn)追封、批量封的情況界弧。

第七種:還有一種就是把 Mac 與 Ipad 結(jié)合凡蜻,基于 Mac 與 Ipad 協(xié)議,非 grpc垢箕,mmtls 破解划栓,功能合適,微信第三方最穩(wěn)定通道条获,不會(huì)出現(xiàn)技術(shù)封號(hào)問(wèn)題忠荞;

image

1.2 本文主要會(huì)講兩種

  • 基于 PC Hook
  • 基于 Web 網(wǎng)頁(yè)端

2. 前期配置

有同學(xué)可能會(huì)問(wèn),我要不要了解軟件開(kāi)發(fā)之類的帅掘?其實(shí)不用委煤,我主要是站在前人的基礎(chǔ)之上操作的。

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

第一件:

  • PC Hook 得在 Windows 系統(tǒng)上操作
  • 使用 Mac 的同學(xué)可以裝 VirtualBox 虛擬機(jī)

第二件:

我們一般裝 Python 的時(shí)候修档,大部分裝的是 64位的 Python碧绞。但是 Windows 的微信客戶端是 32 位程序,我們需要 32位的 Python 完成后面的操作吱窝,注意:也要勾選 Add to path讥邻。所以,我們需要安裝一個(gè) Python 32 位的院峡。

2.2 修改 32位 Python 名稱方便區(qū)分

一般來(lái)說(shuō)兴使,你安裝了 Python 32位而你電腦本身又有 Python 64位,就已經(jīng)有了兩個(gè) Python撕予,所以我們需要做一個(gè)區(qū)分鲫惶。

首先找到 Python 的安裝位置蜈首,一般在:C:\Users\clela\AppData\Local\Programs\Python, clela:用戶名实抡,按你自己的來(lái)欠母。

當(dāng)然,如果你不知道路徑在哪吆寨,也可以在命令行輸入:wherePython

image

上面的 C:\Users\clela\AppData\Local\Programs\Python\Python36-32\python.exe 這個(gè)就是我安裝的 python 3.6的 32位路徑赏淌。具體看你自己安裝的 Python 版本是多少,比如:是 Python 3.7 那路徑就表示:C:\Users\clela\AppData\Local\Programs\Python\Python37-32\python.exe 其他的規(guī)律皆為如此啄清。

那我們要做的一件事情是什么呢六水?

就是我平時(shí)用的最多的是 Python 64位,32位的 Python 只是為了做我們這個(gè)機(jī)器人項(xiàng)目辣卒,一般用不太到掷贾,所以我把 32位和 64位做一個(gè)區(qū)分。

怎么區(qū)分呢荣茫?

把 32 位 Python 的目錄下面的 Python.exe 改名字想帅,改為 python32.exe,以次用來(lái)和原來(lái)的 64為 Python 區(qū)分啡莉。(這個(gè)情況是你之前裝的是 64位的話港准,要是 32位則不用)

image
  1. 這樣你在控制臺(tái)里面輸入 Python 就是正常的 Python64位了,我如果輸入 Python32 那這個(gè)時(shí)候就是 Python32 位咧欣。同學(xué)們可以自行驗(yàn)證一下浅缸。
  2. 重新打開(kāi)命令行輸入 python32 會(huì)打開(kāi) 32位的 Python。
image

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

接下來(lái)啟動(dòng)我們微信機(jī)器人的 Python代碼時(shí)都要輸入:

image

2.3 安裝指定版本微信

不同版本的微信客戶端注入時(shí)的地址有差異,2.6.7.40 版本的微信客戶端可以正常使用蚕礼。

3. 微信機(jī)器人實(shí)現(xiàn)代碼

3.1 打開(kāi)項(xiàng)目文件夾烟具,確認(rèn)必要的文件都在

本課程提供專有的資料包。文末提供獲取方式奠蹬!

確認(rèn) WechatBot.py朝聋、 WeChatSDK.all、 WeChatSDKCore.dll 都在囤躁,然后打開(kāi) test_bot.py 文件

image

我給大家寫(xiě)了 WechatBot.py 文件冀痕,這些代碼文件都要放在一起,而我們接下來(lái)要寫(xiě)的就是 test_bot.py狸演,WechatBot 是我簡(jiǎn)單寫(xiě)個(gè)一個(gè)文件言蛇,同學(xué)們把他引用就 ok 了。

3.2 微信機(jī)器人的實(shí)用方法

順序:登錄 >>> 指定接收消息的處理函數(shù) >>> 初始化 >>> 主循環(huán)運(yùn)行我來(lái)說(shuō)一下用法是:

image
  1. 登錄
  2. 指定接收消息的處理函數(shù)(就是如果我們收到消息了宵距,用哪個(gè)函數(shù)來(lái)處理)
  3. 初始化
  4. 主循環(huán)運(yùn)行

首先把我寫(xiě)的機(jī)器人 WechatBot 導(dǎo)入:

image

然后實(shí)例話:

image

接下來(lái)腊尚,第一步先 login:

image

注意:你運(yùn)行之前,可以不用提前打開(kāi)微信客戶端满哪。

  1. 登錄:因?yàn)樾龀猓@行代碼: bot.login() 一運(yùn)行就會(huì)自動(dòng)的把微信客戶端打開(kāi)劝篷。然后打開(kāi)之后,這時(shí)候你在登陸(掃碼登陸都 ok 的)這些操作之后民宿,他就會(huì)自動(dòng)的往后運(yùn)行娇妓。
  2. 指定接收消息的處理函數(shù):然后,我自己寫(xiě)了一個(gè)函數(shù): print_msg活鹰, 這個(gè)函數(shù)名你可以自己命名哈恰,也就是這個(gè)函數(shù)的作用就是,我微信如果收到消息志群,我就用這個(gè)函數(shù)來(lái)幫助我處理消息着绷。bot.set_msg_handler(print_msg) 收到了消息找哪個(gè)函數(shù),這里我們找:print_msg锌云。
  • 初始化:然后蓬戚,這些完成之后,我們做初始化的操作宾抓,代碼如下:
image

初始化完成之后子漩,你就可以發(fā)消息或者等著吧。

image

一個(gè)名稱:filehelper(發(fā)給誰(shuí)也就是 wxid) 然后石洗,你要發(fā)的內(nèi)容:datetime.now()(你可以發(fā)其他內(nèi)容)

注意:上面自定義函數(shù) print_msg 自定義的時(shí)候必要要留有三個(gè)參數(shù)給這個(gè)函數(shù):pid,wxid,msg

  • pid:當(dāng)前微信客戶端運(yùn)行的進(jìn)程標(biāo)識(shí)符幢泼;
  • wxid:就是你每一個(gè)微信號(hào)都有一個(gè) wxid,就類似微信號(hào)是唯一的一樣(但是讲衫,這個(gè) wxid 不一定等同于你的微信賬號(hào)缕棵,它有可能是,人為設(shè)定的涉兽,還有一些沒(méi)有設(shè)定的招驴,就像是 wxid_xxxx 之類的)這個(gè)就是你在收到消息,這個(gè)發(fā)消息的這個(gè)人或者群組的這個(gè)人或者群的 wxid枷畏。如果你要給這個(gè)人發(fā)消息别厘,那就照這個(gè) wxid 來(lái)發(fā)。不建議你調(diào)過(guò) wxid 來(lái)發(fā)送消息拥诡,因?yàn)橛行┤藳](méi)有設(shè)置微信賬號(hào)触趴。
  • msg:對(duì)方發(fā)來(lái)的消息具體是什么。

3.3 非文字消息的格式

公眾號(hào)也是有 wxid 的渴肉。

  • 公眾號(hào) WXID gh_332c335fdd4e
  • 消息內(nèi)容:XML 格式
image

3.4 XML 格式的讀取

如果你要解析 XML 的話冗懦,需要安裝 xmltodict 模塊, pip install xmltodict

image

大概就是這個(gè)樣子仇祭,功能大概沒(méi)有那么全披蕉,但是基本的接受和發(fā)送時(shí) ok 的,這個(gè)已經(jīng)足夠我們?nèi)プ鲆恍┦虑榱恕?/p>

3.5 擴(kuò)展

如果你要指定的收發(fā)消息,可以修改如下地方代碼:

image

運(yùn)行效果如下:

image

4. Itchat 實(shí)現(xiàn)微信機(jī)器人(拉黑檢測(cè))

你好没讲,我是悅創(chuàng)承冰。

我們接下來(lái)來(lái)講一下微信機(jī)器人的第二種方法:itchat 的使用,利用網(wǎng)頁(yè)端的功能來(lái)實(shí)現(xiàn)編程控制的方式食零。

1. Itchat 使用

1.1 關(guān)于 ItChat 的使用

有的賬號(hào)時(shí)不能使用網(wǎng)頁(yè)微信進(jìn)行登陸的,因此就無(wú)法使用 ItChat 寂屏,沒(méi)有任何解決方法贰谣,此外使用 ItChat 發(fā)消息過(guò)于頻繁會(huì)有很大的風(fēng)險(xiǎn)被限制登陸。一定注意酌情使用迁霎!

image

單純的收發(fā)消息還是可以的吱抚,不要過(guò)度的使用。

1.2 安裝 itchat

1.3 最簡(jiǎn)單的例子

登陸微信然后給文件傳輸助手發(fā)一條消息

image
image

1.4 消息回復(fù)

1.4.1 接收到文字消息時(shí)調(diào)用函數(shù)處理:

import itchat@itchat.msg_register(itchat.content.TEXT) # itchat 將根據(jù)接收到的消息類型考廉,尋找對(duì)應(yīng)的已經(jīng)注冊(cè)的方法 @itchat.msg_register(itchat.content.消息類型)def text_reply(msg):return msg.text # 人家給我發(fā)什么消息我就回什么itchat.auto_login()itchat.run()

消息類型有以下這些:

image

1.4.2 根據(jù)微信文本內(nèi)容回復(fù)消息

image

1.5 微信拉黑

這里用itchat實(shí)現(xiàn)以下微信刪除和拉黑的案例秘豹,供大家參考。一言不合上代碼:

image

更多干貨內(nèi)容昌粤,歡迎關(guān)注公眾號(hào):知了python

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末既绕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涮坐,更是在濱河造成了極大的恐慌凄贩,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袱讹,死亡現(xiàn)場(chǎng)離奇詭異疲扎,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)捷雕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)椒丧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人救巷,你說(shuō)我怎么就攤上這事壶熏。” “怎么了浦译?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵久橙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我管怠,道長(zhǎng)淆衷,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任渤弛,我火速辦了婚禮祝拯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己佳头,他們只是感情好鹰贵,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著康嘉,像睡著了一般碉输。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亭珍,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天敷钾,我揣著相機(jī)與錄音,去河邊找鬼肄梨。 笑死阻荒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的众羡。 我是一名探鬼主播侨赡,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼粱侣!你這毒婦竟也來(lái)了羊壹?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤齐婴,失蹤者是張志新(化名)和其女友劉穎舶掖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體尔店,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡眨攘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嚣州。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鲫售。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖该肴,靈堂內(nèi)的尸體忽然破棺而出情竹,到底是詐尸還是另有隱情,我是刑警寧澤匀哄,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布秦效,位于F島的核電站,受9級(jí)特大地震影響涎嚼,放射性物質(zhì)發(fā)生泄漏阱州。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一法梯、第九天 我趴在偏房一處隱蔽的房頂上張望苔货。 院中可真熱鬧犀概,春花似錦、人聲如沸夜惭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诈茧。三九已至产喉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敢会,已是汗流浹背曾沈。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留走触,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓疤苹,卻偏偏與公主長(zhǎng)得像互广,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卧土,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359