3.9.2.23 测试版

This commit is contained in:
hugy 2023-03-22 17:52:51 +08:00
parent 19d146db99
commit e52a9b87ed
4 changed files with 19 additions and 20 deletions

View File

@ -1,11 +1,11 @@
#### 功能预览: #### 功能预览:
0.检查是否登录 <!-- 0.检查是否登录 -->
1.获取登录微信信息 <!-- 1.获取登录微信信息 -->
2.发送文本 2.发送文本
5.发送图片 5.发送图片
6.发送文件 6.发送文件
9.hook消息 <!-- 9.hook消息
10.取消hook消息 10.取消hook消息
11.hook图片 11.hook图片
12.取消hook图片 12.取消hook图片
@ -36,7 +36,7 @@
53.朋友圈首页 53.朋友圈首页
54.朋友圈下一页 54.朋友圈下一页
55.获取联系人或者群名称 55.获取联系人或者群名称
56.获取消息附件(图片,视频,文件) 56.获取消息附件(图片,视频,文件) -->
### 接口文档: ### 接口文档:

View File

@ -3,16 +3,16 @@
#include "common.h" #include "common.h"
#include "wechat_data.h" #include "wechat_data.h"
#define WX_APP_MSG_MGR_OFFSET 0x709bb0 #define WX_APP_MSG_MGR_OFFSET 0x76ae20
#define WX_SEND_FILE_OFFSET 0xb06240 #define WX_SEND_FILE_OFFSET 0xb6d1f0
#define WX_INIT_CHAT_MSG_OFFSET 0xed3be0 #define WX_INIT_CHAT_MSG_OFFSET 0xf59e40
#define WX_FREE_CHAT_MSG_OFFSET 0x6f4ea0 #define WX_FREE_CHAT_MSG_OFFSET 0x756960
int SendFile(wchar_t *wxid, wchar_t *file_path){ int SendFile(wchar_t *wxid, wchar_t *file_path){
int success = 0; int success = 0;
WeChatString to_user(wxid); WeChatString to_user(wxid);
WeChatString path(file_path); WeChatString path(file_path);
char chat_msg[0x2C4] = {0}; char chat_msg[0x2D8] = {0};
DWORD base = GetWeChatWinBase(); DWORD base = GetWeChatWinBase();
DWORD app_msg_mgr_addr = base + WX_APP_MSG_MGR_OFFSET; DWORD app_msg_mgr_addr = base + WX_APP_MSG_MGR_OFFSET;
DWORD init_chat_msg_addr = base + WX_INIT_CHAT_MSG_OFFSET; DWORD init_chat_msg_addr = base + WX_INIT_CHAT_MSG_OFFSET;

View File

@ -3,17 +3,16 @@
#include "common.h" #include "common.h"
#include "wechat_data.h" #include "wechat_data.h"
#define WX_SEND_IMAGE_OFFSET 0xc71500 #define WX_SEND_IMAGE_OFFSET 0xce6640
#define WX_SEND_MESSAGE_MGR_OFFSET 0x706d30 #define WX_SEND_MESSAGE_MGR_OFFSET 0x768140
#define WX_INIT_CHAT_MSG_OFFSET 0xed3be0 #define WX_INIT_CHAT_MSG_OFFSET 0xf59e40
#define WX_FREE_CHAT_MSG_OFFSET 0x6f4ea0 #define WX_FREE_CHAT_MSG_OFFSET 0x756960
int SendImage(wchar_t *wxid, wchar_t *image_path){ int SendImage(wchar_t *wxid, wchar_t *image_path){
int success = 0; int success = 0;
WeChatString to_user(wxid); WeChatString to_user(wxid);
WeChatString path(image_path); WeChatString path(image_path);
char chat_msg[0x2C4] ={0}; char chat_msg[0x2D8] ={0};
DWORD base = GetWeChatWinBase(); DWORD base = GetWeChatWinBase();
DWORD send_message_mgr_addr = base + WX_SEND_MESSAGE_MGR_OFFSET; DWORD send_message_mgr_addr = base + WX_SEND_MESSAGE_MGR_OFFSET;
DWORD init_chat_msg_addr = base + WX_INIT_CHAT_MSG_OFFSET; DWORD init_chat_msg_addr = base + WX_INIT_CHAT_MSG_OFFSET;

View File

@ -6,11 +6,11 @@
#include "wechat_data.h" #include "wechat_data.h"
#include "contact.h" #include "contact.h"
#define WX_SEND_TEXT_OFFSET 0xc71a60 #define WX_SEND_TEXT_OFFSET 0xce6c80
#define WX_SEND_MESSAGE_MGR_OFFSET 0x706d30 #define WX_SEND_MESSAGE_MGR_OFFSET 0x768140
#define WX_FREE_CHAT_MSG_OFFSET 0x6f4ea0 #define WX_FREE_CHAT_MSG_OFFSET 0x756960
using namespace std; using namespace std;
/// @brief 发生文本消息 /// @brief 发生文本消息
/// @param wxid wxid /// @param wxid wxid
@ -26,7 +26,7 @@ int SendText(wchar_t* wxid, wchar_t* msg) {
DWORD send_message_mgr_addr = base + WX_SEND_MESSAGE_MGR_OFFSET; DWORD send_message_mgr_addr = base + WX_SEND_MESSAGE_MGR_OFFSET;
DWORD send_text_msg_addr = base + WX_SEND_TEXT_OFFSET; DWORD send_text_msg_addr = base + WX_SEND_TEXT_OFFSET;
DWORD free_chat_msg_addr = base + WX_FREE_CHAT_MSG_OFFSET; DWORD free_chat_msg_addr = base + WX_FREE_CHAT_MSG_OFFSET;
char chat_msg[0x2C4] ={0}; char chat_msg[0x2D8] ={0};
__asm{ __asm{
PUSHAD PUSHAD
CALL send_message_mgr_addr CALL send_message_mgr_addr
@ -59,7 +59,7 @@ int SendAtText(wchar_t* chat_room_id,wchar_t** wxids,int len,wchar_t* msg){
for (int i = 0; i < len; i++) { for (int i = 0; i < len; i++) {
wstring nickname; wstring nickname;
if (!lstrcmpiW((wchar_t *)wxids[i], (wchar_t *)L"notify@all")) { if (!lstrcmpiW((wchar_t *)wxids[i], (wchar_t *)L"notify@all")) {
nickname = L"所有人"; nickname = L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
} else { } else {
nickname = GetContactOrChatRoomNickname(wxids[i]); nickname = GetContactOrChatRoomNickname(wxids[i]);
} }