From 50344ee8d9e37f205693864688a8ad32d0b40c8a Mon Sep 17 00:00:00 2001 From: Changhua Date: Tue, 19 Nov 2024 08:32:57 +0800 Subject: [PATCH 1/5] Add wcf-http --- README.MD | 1 + 1 file changed, 1 insertion(+) diff --git a/README.MD b/README.MD index d803448..8ce3319 100644 --- a/README.MD +++ b/README.MD @@ -80,6 +80,7 @@ pip install --upgrade wcferry ### HTTP * [wcfrust](https://github.com/lich0821/wcf-client-rust)(基于 Rust) * [go_wcf_http](clients/go_wcf_http/README.MD)(基于 Go) +* [wcf-http](https://github.com/yuxiaoli/wcf-http)(基于 Python) ### Java * [java](clients/java/wcferry/README.MD) From daaed3909c3104996c5851dc03e08e3d75393dc5 Mon Sep 17 00:00:00 2001 From: eric Date: Thu, 21 Nov 2024 10:24:39 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=E6=94=AF=E6=8C=81=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E4=BA=8C=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WeChatFerry/spy/funcs.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/WeChatFerry/spy/funcs.cpp b/WeChatFerry/spy/funcs.cpp index 0c3cb7e..60f206b 100644 --- a/WeChatFerry/spy/funcs.cpp +++ b/WeChatFerry/spy/funcs.cpp @@ -35,6 +35,7 @@ extern QWORD g_WeChatWinDllAddr; #define OS_GET_MGR_BY_PREFIX_LOCAL_ID 0x213FB00 #define OS_GET_PRE_DOWNLOAD_MGR 0x1C0EE70 #define OS_PUSH_ATTACH_TASK 0x1CDF4E0 +#define OS_LOGIN_QR_CODE 0x59620d8 typedef QWORD (*GetSNSDataMgr_t)(); typedef QWORD (*GetSnsTimeLineMgr_t)(); @@ -348,8 +349,17 @@ int RevokeMsg(QWORD id) string GetLoginUrl() { - char url[] = "方法还没实现"; - return "http://weixin.qq.com/x/" + string(url); + LPVOID targetAddress = reinterpret_cast(g_WeChatWinDllAddr) + OS_LOGIN_QR_CODE; + + char* dataPtr = *reinterpret_cast(targetAddress); // 读取指针内容 + if (!dataPtr) { + LOG_ERROR("Failed to get login url"); + return "error"; + } + + // 读取字符串内容 + std::string data(dataPtr, 22); + return "http://weixin.qq.com/x/" + data; } int ReceiveTransfer(string wxid, string transferid, string transactionid) From 9162ae7e05837191d4b7ae7c3c901655f5f449c7 Mon Sep 17 00:00:00 2001 From: Changhua Date: Thu, 21 Nov 2024 13:03:22 +0800 Subject: [PATCH 3/5] Bump to v39.3.4 --- README.MD | 9 +++++++-- WeChatFerry/spy/spy.rc | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.MD b/README.MD index 8ce3319..560993f 100644 --- a/README.MD +++ b/README.MD @@ -27,6 +27,7 @@
点击查看功能清单 +* 获取登录二维码 * 查询登录状态 * 获取登录账号信息 * 获取消息类型 @@ -210,9 +211,9 @@ WeChatFerry ## 版本更新 -### v39.3.3 +### v39.3.4 -* 修复发送文件 / 图片中文路径问题 +* 实现获取登录二维码
点击查看更多 @@ -224,6 +225,10 @@ WeChatFerry * `y` 是 `WeChatFerry` 的版本,从 0 开始 * `z` 是各客户端的版本,从 0 开始 +### v39.3.3 + +* 修复发送文件 / 图片中文路径问题 + ### v39.3.2 * 修复接收消息问题 diff --git a/WeChatFerry/spy/spy.rc b/WeChatFerry/spy/spy.rc index e65c53a..5f87428 100644 --- a/WeChatFerry/spy/spy.rc +++ b/WeChatFerry/spy/spy.rc @@ -51,7 +51,7 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 39,3,3,0 + FILEVERSION 39,3,4,0 PRODUCTVERSION 3,9,11,25 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -69,7 +69,7 @@ BEGIN BEGIN VALUE "CompanyName", "WeChatFerry" VALUE "FileDescription", "WeChatFerry" - VALUE "FileVersion", "39.3.3.0" + VALUE "FileVersion", "39.3.4.0" VALUE "InternalName", "spy.dll" VALUE "LegalCopyright", "Copyright (C) 2023" VALUE "OriginalFilename", "spy.dll" From 72741630534bdc301eab46659e3563ac048720c5 Mon Sep 17 00:00:00 2001 From: Changhua Date: Thu, 21 Nov 2024 13:10:07 +0800 Subject: [PATCH 4/5] Refactoring --- WeChatFerry/spy/funcs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WeChatFerry/spy/funcs.cpp b/WeChatFerry/spy/funcs.cpp index 60f206b..a705a68 100644 --- a/WeChatFerry/spy/funcs.cpp +++ b/WeChatFerry/spy/funcs.cpp @@ -35,7 +35,7 @@ extern QWORD g_WeChatWinDllAddr; #define OS_GET_MGR_BY_PREFIX_LOCAL_ID 0x213FB00 #define OS_GET_PRE_DOWNLOAD_MGR 0x1C0EE70 #define OS_PUSH_ATTACH_TASK 0x1CDF4E0 -#define OS_LOGIN_QR_CODE 0x59620d8 +#define OS_LOGIN_QR_CODE 0x59620D8 typedef QWORD (*GetSNSDataMgr_t)(); typedef QWORD (*GetSnsTimeLineMgr_t)(); @@ -351,7 +351,7 @@ string GetLoginUrl() { LPVOID targetAddress = reinterpret_cast(g_WeChatWinDllAddr) + OS_LOGIN_QR_CODE; - char* dataPtr = *reinterpret_cast(targetAddress); // 读取指针内容 + char *dataPtr = *reinterpret_cast(targetAddress); // 读取指针内容 if (!dataPtr) { LOG_ERROR("Failed to get login url"); return "error"; From 4cf74f28d9ed2375e165b373d3b47a00d8fa0f71 Mon Sep 17 00:00:00 2001 From: Changhua Date: Thu, 21 Nov 2024 13:26:31 +0800 Subject: [PATCH 5/5] Refactoring --- WeChatFerry/spy/funcs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WeChatFerry/spy/funcs.cpp b/WeChatFerry/spy/funcs.cpp index a705a68..bdd1d56 100644 --- a/WeChatFerry/spy/funcs.cpp +++ b/WeChatFerry/spy/funcs.cpp @@ -26,7 +26,7 @@ extern QWORD g_WeChatWinDllAddr; #define OS_LOGIN_STATUS 0x595C9E8 #define OS_GET_SNS_DATA_MGR 0x21E2200 -#define OS_GET_SNS_FIRST_PAGE 0x2E212d0 +#define OS_GET_SNS_FIRST_PAGE 0x2E212D0 #define OS_GET_SNS_TIMELINE_MGR 0x2DB3390 #define OS_GET_SNS_NEXT_PAGE 0x2EC8970 #define OS_NEW_CHAT_MSG 0x1B5E140