准备工作
微信版本:3.1.0.41
找不到的可以下载这个:https://cloud.189.cn/t/YbA7jaRVveAf(访问码:xky1)
想要了解具体逆向知识的请看:https://blog.csdn.net/qq_38474570/article/details/93339861
根据这篇博客安装vs2017,只需要安装其中的使用c++的桌面开发组件即可,用于dll注入。(https://blog.csdn.net/Qwertyuiop2016/article/details/105391564)
软件源代码和已编译软件:https://gitee.com/kanadeblisst/wxrobot (软件是由aardio写的,看不懂的可以用编译的软件的http接口)
dll代码不开源,有兴趣的可以参考上面的大佬的博客自己写一个。大佬的开源代码:https://github.com/TonyChen56/WeChatRobot
界面
上面空白处为消息显示区域,下面两个输入框和按钮为消息发送。相比于上一篇的博客去掉了读取联系人列表的功能,这属于敏感信息,我还是少接触的为好,你们自行获取(比如不知道某个人的微信ID,打开软件后,叫他给你发个消息就知道了)。
HTTP接口
发送消息api (请求这个api即可发送消息给指定好友) url: http://127.0.0.1:10010/send 方法:POST 数据提交方式:application/json 数据提交格式:{“wxid”:好友微信ID或者群ID, “msg”:要发送的消息}
python代码示例:
import json
import requests
headers = {
"Content-Type": "application/json"
}
data = {
"wxid": "wxid_xxxxxxxxxxxxx",
"msg": "xxxxxxxxxxx"
}
resp = requests.post("http://127.0.0.1:10010/send", data=json.dumps(data), headers=headers)
print(resp.text)
接收消息api(需要你先开设服务端,软件会将消息以POST提交到你开设的服务) url: http://127.0.0.1:10000/msg 方法:POST 数据提交方式:application/json 数据提交格式:{“wxid”:消息来源的微信ID或者群ID,“msg”:消息内容,“wxid1”:当wxid为群ID时,此值为发送者wxid,否则为空}
python代码示例 flask
import json
from flask import Flask, request
app = Flask(__name__)
@app.route('/msg',methods=['post'])
def post_http():
if not request.data:
print(None)
data = request.data.decode('utf-8')
data = json.loads(data)
print(data)
return {"status":"ok"}
if __name__ == '__main__':
app.run(host='127.0.0.1',port=10000)
fastapi
from pydantic import BaseModel
from fastapi import FastAPI
import uvicorn
class Item(BaseModel):
wxid: str
wxid1: str = None
msg: str
app = FastAPI()
@app.post('/msg')
def calculate(data: Item):
print(data)
return {"status": "ok"}
if __name__ == '__main__':
uvicorn.run(app=app, host="127.0.0.1", port=10000, workers=1)
至于怎么同时收发消息就不多废话了,多开个线程就行。群发之类的二次开发也很简单。
原文始发于微信公众号(Python成长路):微信收发消息接口机器人
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/196194.html