应朋友的要求写了一个python实现的检测微信好友被删和被拉黑的脚本,代码只有几行。
一开始尝试了itchat的建群功能和拉好友入群的思路,原理是被删和被拉黑的好友无法拉入到群;
尝试过程中发现总会报返回对象没有‘BaseResponse’属性,建群失败的错误;
一度想要接着尝试自己抓包解析,后来在web版微信没找到建群的功能,才想到可能是微信取消了web版微信的建群功能;
到了这里,这个思路行不通了。
至于直接发送信息?太low;一分钱转账?web微信压根就没这功能。
再后来发现了微信的一个bug,发送"ॣ ॣ ॣ"给好友,自己和好友都看不到消息,当添加自己为好友时,只有自己能收到此信息,如果没添加自己为好友,没有人能收到此信息,笔者此刻日期为2019/1/6 8:30,到目前为止微信bug还没修复。
"ॣ ॣ ॣ"发送单个字符双方是可以看到的,单个字符的Unicode码为2403,建议直接复制。
import itchat
import time
itchat.auto_login(hotReload=True) # 热加载
print('检测结果可能会引起不适。')
print('检测结果请在手机上查看,此处仅显示检测信息。')
print('消息被拒收为被拉黑, 需要发送验证信息为被删。')
print('没有结果就是好结果。')
print('检测1000位好友需要34分钟, 以此类推。')
print('为了你的账号安全着想,这个速度刚好。')
print('在程序运行期间请让程序保持运行,网络保持连接。')
print('请不要从手机端手动退出。')
input('按ENTER键继续...')
friends = itchat.get_friends(update=True)
lenght = len(friends)
for i in range(1, lenght):
# 微信bug,用自己账户给所有好友发送"ॣ ॣ ॣ"消息,当添加自己为好友时,只有自己能收到此信息,如果没添加自己为好友\
# 没有人能收到此信息,笔者此刻日期为2019/1/6 8:30,到目前为止微信bug还没修复。
# 所以迭代从除去自己后的第二位好友开始 range(1, lenght)。
itchat.send("ॣ ॣ ॣ", toUserName=friends['UserName'])
print(f'检测到第{i}位好友: {str(friends["NickName"]).center(20, " ")}')
# 发送信息速度过快会被微信检测到异常行为。
time.sleep(2)
print('已检测完毕,请在手机端查看结果。')
itchat.run()
算是给自己一个交代吧。
---------------------
转载,仅作分享,侵删
作者:babaili_
原文:https://blog.csdn.net/babaili_/article/details/85943851
|
|