微信收发消息接口机器人(基于Windows逆向,版本3.1.0.41)

准备工作

微信3.1.0.41下载链接:https://cloud.189.cn/t/RVveAfYbA7ja 访问码: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

只在Windows10上通过测试,其他系统未测试。如果遇到问题,请自行修改代码。另外,自己编写的软件360大概率报毒,如果觉得有风险,不建议使用。

界面

上面空白处为消息显示区域,下面两个输入框和按钮为消息发送。相比于上一篇的博客去掉了读取联系人列表的功能,这属于敏感信息,我还是少接触的为好。不然对于某些人,有理也说不清。你们可以自行获取(比如不知道某个人的微信ID,打开软件后,叫他给你发个消息就知道了)。另外,在此申明一下,dll和软件都是没有同外界通信的,所有功能只是调用了微信的代码段,可以自行抓tcp包测试一下。
微信收发消息接口机器人(基于Windows逆向,版本3.1.0.41)_第1张图片

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)

至于怎么同时收发消息就不多废话了,多开个线程就行。

你可能感兴趣的:(微信机器人,wetools,PC微信逆向)