微信機器人的實作有三種:web,app和exe,其中web很多賬號受限登錄不了,而hook app的話需要使用xposed則會封號,所以現在大部分機器人都是基于PC微信,
先實作一下最基本的機器人的功能:接收訊息和發送訊息,找相關call請看:https://blog.csdn.net/qq_38474570/article/details/93339861,
接收訊息
最新版(2.8.0.121)hook地址偏移:0x354B32
基本所有型別的訊息都會通過這個,比如紅包、轉賬和語音檔案等,包括公眾號的推送也可以收到,因為紅包無法在PC微信上查看,只能收到一個紅包的文字訊息(比如誰誰誰發了紅包,請到手機上查看),如果是圖片的話可以知道是什么圖片,其他比如表情和公眾號等都是一些xml的資訊也可以解讀出來,就是語音的話我還沒找到對應的call或者相對應的檔案,
要實作攔截資訊只需要hook這個地址就能截取到所需要的資訊,實作成品:https://www.lanzous.com/ianzaha,(dll由C++撰寫,exe由aardio撰寫)
效果圖:

發送訊息
最新版(2.8.0.121)hook地址偏移:0x?E3162?

發送文本訊息的代碼就是上面幾行,實作成品:https://www.lanzous.com/iao0ahg
CSDN無法上傳視頻,效果就不放了,
機器人
上面的兩個成品只是驗證一下方法可行,并不是機器人,它實際上還是人在操作界面來實作發訊息,不過既然能使用外部代碼來實作,那么對接某些人工智障(比如騰訊AI開放平臺的聊天機器人)也是沒問題的,當然,為了其他語言也可以使用,可以開放一個通用的協議來實作,比如tcpsocket,http,RPC是用的最多的,但是我還沒有弄懂它是個啥意思,
實作一些群發和轉發也是相當簡單,對于收發訊息的功能這兩個call已經足夠用了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/145089.html
標籤:Python
上一篇:常用模塊
下一篇:演算法筆記(九):二分查找
