From 581aacb8cedfacc051e51f78c3eeb1efa7ef1701 Mon Sep 17 00:00:00 2001 From: hugy <504650082@qq.com> Date: Thu, 25 May 2023 15:30:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=843.9.2.26=E5=B7=B2?= =?UTF-8?q?=E6=9C=89=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/3.9.2.26.md | 15 ++++++++++++++- src/hooks.cc | 1 + src/misc_mgr.cc | 22 +++------------------- src/wechat_function.h | 36 ++++++++++++++++++------------------ 4 files changed, 36 insertions(+), 38 deletions(-) diff --git a/doc/3.9.2.26.md b/doc/3.9.2.26.md index 283676e..e4dfdbf 100644 --- a/doc/3.9.2.26.md +++ b/doc/3.9.2.26.md @@ -18,6 +18,19 @@ 31.修改群昵称 32.获取数据库句柄 34.查询数据库 +35.hook日志 +36.关闭hook日志 40.转发消息 44.退出登录 -55.获取联系人或者群名称 \ No newline at end of file +46.联系人列表 +47.获取群详情 +48.获取解密图片 +49.图片提取文字ocr +50.拍一拍 +51.群消息置顶消息 +52.群消息取消置顶 +53.朋友圈首页 +54.朋友圈下一页 +55.获取联系人或者群名称 +56.获取消息附件(图片,视频,文件) +57.获取消息语音文件 \ No newline at end of file diff --git a/src/hooks.cc b/src/hooks.cc index 7153c27..6546ad1 100644 --- a/src/hooks.cc +++ b/src/hooks.cc @@ -344,6 +344,7 @@ void PrintLog(DWORD addr) { char *ansi_message = new char[size + 1]; memset(ansi_message, 0, size + 1); WideCharToMultiByte(CP_ACP, 0, w_msg, -1, ansi_message, size, 0, 0); + spdlog::info("wechat log:{}", ansi_message); delete[] w_msg; w_msg = NULL; delete[] ansi_message; diff --git a/src/misc_mgr.cc b/src/misc_mgr.cc index 52e8621..d12d4e8 100644 --- a/src/misc_mgr.cc +++ b/src/misc_mgr.cc @@ -153,8 +153,8 @@ int MiscMgr::DoDownloadTask(ULONG64 msg_id) { DWORD get_current_data_path_addr = base_addr_ + WX_GET_CURRENT_DATA_PATH_OFFSET; DWORD free_app_msg_info_addr = base_addr_ + WX_FREE_APP_MSG_INFO_OFFSET; DWORD push_thumb_task_addr = base_addr_ + WX_PUSH_THUMB_TASK_OFFSET; - DWORD video_mgr_addr = base_addr_ + WX_VIDEO_MGR_OFFSET; - DWORD download_video_image_addr = base_addr_ + WX_VIDEO_MGR_OFFSET; + + WeChatString current_data_path; @@ -255,23 +255,7 @@ int MiscMgr::DoDownloadTask(ULONG64 msg_id) { memcpy(&chat_msg[0x19C], &w_thumb_path, sizeof(w_thumb_path)); memcpy(&chat_msg[0x1B0], &w_save_path, sizeof(w_save_path)); memcpy(&chat_msg[0x29C], &temp, sizeof(temp)); - // note: the image has been downloaded and will not be downloaded again - // use low-level method - // this function does not work, need to modify chatmsg. - // if (type == 0x3E || type == 0x2B){ - // __asm{ - // PUSHAD - // PUSHFD - // CALL video_mgr_addr - // LEA ECX,chat_msg - // PUSH ECX - // MOV ECX,EAX - // CALL download_video_image_addr - // POPFD - // POPAD - // } - // } - + __asm { PUSHAD PUSHFD diff --git a/src/wechat_function.h b/src/wechat_function.h index 0223433..de7e4af 100644 --- a/src/wechat_function.h +++ b/src/wechat_function.h @@ -4,7 +4,7 @@ #include // snsDataMgr -#define WX_SNS_DATA_MGR_OFFSET 0xc39680 +#define WX_SNS_DATA_MGR_OFFSET 0xc3a500 // chatRoomMgr #define WX_CHAT_ROOM_MGR_OFFSET 0x78d9d0 // contactMgr @@ -12,13 +12,13 @@ // syncMgr #define WX_SYNC_MGR_OFFSET 0xa87fd0 // preDownloadMgr -#define WX_GET_PRE_DOWNLOAD_MGR_OFFSET 0x80f110 +#define WX_GET_PRE_DOWNLOAD_MGR_OFFSET 0x80fe50 // chatMgr -#define WX_CHAT_MGR_OFFSET 0x792700 +#define WX_CHAT_MGR_OFFSET 0x7931b0 // videoMgr -#define WX_VIDEO_MGR_OFFSET 0x829820 +#define WX_VIDEO_MGR_OFFSET 0x82a560 // patMgr -#define WX_PAT_MGR_OFFSET 0x931730 +#define WX_PAT_MGR_OFFSET 0x932470 // searchContactMgr #define WX_SEARCH_CONTACT_MGR_OFFSET 0xa6d860 // appMsgMgr @@ -38,8 +38,8 @@ //sns -#define WX_SNS_GET_FIRST_PAGE_OFFSET 0x14e2140 -#define WX_SNS_GET_NEXT_PAGE_OFFSET 0x14e21e0 +#define WX_SNS_GET_FIRST_PAGE_OFFSET 0x14e36e0 +#define WX_SNS_GET_NEXT_PAGE_OFFSET 0x14e3780 //chat room #define WX_GET_CHAT_ROOM_DETAIL_INFO_OFFSET 0xbdef30 @@ -65,9 +65,9 @@ #define WX_FREE_CONTACT_OFFSET 0xea8800 // wcpayinfo -#define WX_NEW_WCPAYINFO_OFFSET 0x7b2e60 -#define WX_FREE_WCPAYINFO_OFFSET 0x79c250 -#define WX_CONFIRM_RECEIPT_OFFSET 0x15e2c20 +#define WX_NEW_WCPAYINFO_OFFSET 0x7b3900 +#define WX_FREE_WCPAYINFO_OFFSET 0x79cd00 +#define WX_CONFIRM_RECEIPT_OFFSET 0x15e41d0 //contact @@ -86,13 +86,13 @@ // pushAttachTask -#define WX_PUSH_ATTACH_TASK_OFFSET 0x82bb40 +#define WX_PUSH_ATTACH_TASK_OFFSET 0x82c880 #define WX_GET_MGR_BY_PREFIX_LOCAL_ID_OFFSET 0xbc11d0 #define WX_APP_MSG_INFO_OFFSET 0x7b3d20 #define WX_GET_APP_MSG_XML_OFFSET 0xe628a0 -#define WX_FREE_APP_MSG_INFO_OFFSET 0x79d900 -#define WX_PUSH_THUMB_TASK_OFFSET 0x82ba40 +#define WX_FREE_APP_MSG_INFO_OFFSET 0x79e3b0 +#define WX_PUSH_THUMB_TASK_OFFSET 0x82c780 #define WX_DOWNLOAD_VIDEO_IMG_OFFSET 0xd46c30 @@ -100,8 +100,8 @@ // pat -#define WX_SEND_PAT_MSG_OFFSET 0x1421940 -#define WX_RET_OFFSET 0x1D58751 +#define WX_SEND_PAT_MSG_OFFSET 0x1422f30 +#define WX_RET_OFFSET 0x1D59DB1 //search hook @@ -131,9 +131,9 @@ //ocr -#define WX_INIT_OBJ_OFFSET 0x80a800 -#define WX_OCR_MANAGER_OFFSET 0x80f270 -#define WX_DO_OCR_TASK_OFFSET 0x13da3e0 +#define WX_INIT_OBJ_OFFSET 0x80b540 +#define WX_OCR_MANAGER_OFFSET 0x80ffc0 +#define WX_DO_OCR_TASK_OFFSET 0x13db9a0 //storage