97 lines
2.7 KiB
Markdown
97 lines
2.7 KiB
Markdown
# 微信 PC Hook软件 微信PC协议
|
||
|
||
## 概述
|
||
|
||
本项目通过注入微信程序,提供一系列HTTP接口,允许用户通过这些接口与微信功能进行交互。 个人项目精力有限,欢迎 follow star!
|
||
|
||
## 支持版本
|
||
|
||
目前支持 3.9.10.27
|
||
|
||
## 功能
|
||
|
||
- 注入微信(wxhelper)
|
||
- 提供各种微信功能的HTTP接口
|
||
- 使用方便,易于与其他系统集成
|
||
- 大部分接口已经满足需求,剩下部分接口还在开发
|
||
|
||
### API端点
|
||
|
||
以下是一些可用的端点:
|
||
|
||
```
|
||
/api/netscene/createchatroom
|
||
/api/netscene/getmemberfromchatroom
|
||
/api/wechat/getchatroomdetailinfo
|
||
/api/wechat/addmembertchatroom
|
||
/api/wechat/invitemembertochatroom
|
||
/api/wechat/delmemberfromchatroom
|
||
/api/wechat/quitanddelchatroom
|
||
/api/wechat/modchatroomtopic
|
||
/api/wechat/modchatroommembernickname
|
||
/api/wechat/setchatroomannouncement
|
||
/api/netscene/getcontact
|
||
/api/netscene/searchcontact
|
||
/api/netscene/addcontact
|
||
/api/netscene/verifyapply
|
||
/api/netscene/getcontactlabellist
|
||
/api/netscene/addcontactlabel
|
||
/api/wechat/delcontact
|
||
/api/wechat/getcontact
|
||
/api/wechat/getcontactlist
|
||
/api/wechat/remarkcontact
|
||
/api/wechat/blackcontact
|
||
/api/wechat/delcontactlabel
|
||
/api/wechat/modifycontactlabel
|
||
/api/netscene/getA8key
|
||
/api/wechat/cdndownload
|
||
/api/wechat/cdnupload
|
||
/api/wechat/getselfinfo
|
||
/api/wechat/sendtextmsg
|
||
/api/wechat/sendimagemsg
|
||
/api/wechat/sendfilemsg
|
||
/api/wechat/sendpatmsg
|
||
/api/wechat/sendcardmsg
|
||
/api/wechat/setmessagenotify
|
||
api/netscene/timelinegetfirstpage
|
||
/api/netscene/timelinegetnextpage
|
||
/api/netscene/snsobjectdetail
|
||
/api/wechat/snsobjectlike
|
||
/api/wechat/snsobjectunlike
|
||
/api/wechat/snsobjectdocomment
|
||
/api/wechat/snsobjectdelcomment
|
||
```
|
||
|
||
### 关于
|
||
|
||
netscence路径的接口是带协议返回
|
||
wechat路径协议不带协议返回
|
||
|
||
框架实现自动注入点,同时实现微信协议返回包拦截注入
|
||
|
||
##### Q&A : 为啥不能HOOK 请求协议?
|
||
|
||
一、是找到的协议版本较远,请求协议如果少字段容易被被服务器知道
|
||
二、还有就是大部分请求协议字段较多,发起请求直接call函数传参较少难度低
|
||
三、有没有需要自己构造请求数据包,看情况,比如PC微信不支持查看用户朋友圈以及发圈,如果要实现就需要自己这样处理
|
||
|
||
##### Q&A : 关于日志?
|
||
|
||
目前没有加运行日志,主要因为大部分日志框架都是多线程,很多都是用c++11 thread 这在DLL Dettach的时候很容易卡死。直接用微信里面的日志接口把日志打到微信里面应该是可以的。
|
||
|
||
## TODO
|
||
|
||
- 部分接口完善
|
||
- HOOK隐藏
|
||
- 微信消息回调优化
|
||
- 微信协议DUMP
|
||
|
||
## 使用
|
||
|
||
1. clone项目
|
||
2. 在项目根目录新建build文件夹
|
||
3. cd build
|
||
4. cmake ..
|
||
5. 使用vs 2019 打开build目录下的.sln文件
|
||
6. 生成dll (右侧解决方案,ALL_BUILD,右键生成)
|