From 065db1d236fcb781dbc75388e6360a35091fcf22 Mon Sep 17 00:00:00 2001 From: Changhua Date: Fri, 31 Jan 2025 10:51:35 +0800 Subject: [PATCH] Fix function signature --- WeChatFerry/spy/contact_mgmt.cpp | 12 ++++++------ WeChatFerry/spy/contact_mgmt.h | 2 +- WeChatFerry/spy/rpc_server.cpp | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/WeChatFerry/spy/contact_mgmt.cpp b/WeChatFerry/spy/contact_mgmt.cpp index 1adae24..192b20f 100644 --- a/WeChatFerry/spy/contact_mgmt.cpp +++ b/WeChatFerry/spy/contact_mgmt.cpp @@ -3,15 +3,15 @@ #include "contact_mgmt.h" #include "fill_response.h" #include "log.hpp" +#include "pb_util.h" #include "util.h" using namespace std; -namespace contact_mgmt -{ - extern QWORD g_WeChatWinDllAddr; +namespace contact_mgmt +{ #define OS_GET_CONTACT_MGR 0x1B417A0 #define OS_GET_CONTACT_LIST 0x219ED10 #define OS_CONTACT_BIN 0x200 @@ -98,7 +98,7 @@ vector get_contacts() return contacts; } -int accept_new_friend(string v3, string v4, int scene) +int accept_new_friend(const std::string &v3, const std::string &v4, int scene) { int success = -1; #if 0 @@ -149,7 +149,7 @@ int accept_new_friend(string v3, string v4, int scene) return success; // 成功返回 1 } -RpcContact_t get_contact_by_wxid(string wxid) +RpcContact_t get_contact_by_wxid(const string &wxid) { RpcContact_t contact; #if 0 @@ -214,7 +214,7 @@ bool rpc_get_contact_info(const string &wxid, uint8_t *out, size_t *len) bool rpc_accept_friend(const string &v3, const string &v4, int scene, uint8_t *out, size_t *len) { return fill_response( - out, len, [&](Response &rsp) { rsp.msg.status = accept_friend(v3, v4, scene); }); + out, len, [&](Response &rsp) { rsp.msg.status = accept_new_friend(v3, v4, scene); }); } } // namespace contact_mgmt diff --git a/WeChatFerry/spy/contact_mgmt.h b/WeChatFerry/spy/contact_mgmt.h index 3ff0662..0fb8091 100644 --- a/WeChatFerry/spy/contact_mgmt.h +++ b/WeChatFerry/spy/contact_mgmt.h @@ -15,7 +15,7 @@ std::vector get_contacts(); RpcContact_t get_contact_by_wxid(const std::string &wxid); // 接受好友请求 -int accept_friend(const std::string &v3, const std::string &v4, int scene); +int accept_new_friend(const std::string &v3, const std::string &v4, int scene); // 发送好友请求 // int add_friend_by_wxid(const std::string &wxid, const std::string &msg); diff --git a/WeChatFerry/spy/rpc_server.cpp b/WeChatFerry/spy/rpc_server.cpp index e90fa6a..5d4ecb8 100644 --- a/WeChatFerry/spy/rpc_server.cpp +++ b/WeChatFerry/spy/rpc_server.cpp @@ -103,9 +103,9 @@ static bool func_get_msg_types(uint8_t *out, size_t *len) static bool func_get_contacts(uint8_t *out, size_t *len) { return FillResponse(Response_contacts_tag, out, len, [](Response &rsp) { - static std::vector contacts = contact_mgmt::get_contacts(); - rsp.msg.contacts.contacts.funcs.encode = encode_contacts; - rsp.msg.contacts.contacts.arg = &contacts; + std::vector contacts = contact_mgmt::get_contacts(); + rsp.msg.contacts.contacts.funcs.encode = encode_contacts; + rsp.msg.contacts.contacts.arg = &contacts; }); } @@ -417,7 +417,7 @@ static bool func_accept_friend(char *v3, char *v4, int32_t scene, uint8_t *out, LOG_ERROR("Empty V3 or V4."); rsp.msg.status = -1; } else { - rsp.msg.status = contact_mgmt::accept_friend(v3, v4, scene); + rsp.msg.status = contact_mgmt::accept_new_friend(v3, v4, scene); } }); } @@ -425,7 +425,7 @@ static bool func_accept_friend(char *v3, char *v4, int32_t scene, uint8_t *out, static bool func_get_contact_info(std::string wxid, uint8_t *out, size_t *len) { return FillResponse(Response_contacts_tag, out, len, [wxid](Response &rsp) { - std::vector contacts = contact_mgmt::get_contact_by_wxid(wxid); + std::vector contacts = { contact_mgmt::get_contact_by_wxid(wxid) }; rsp.msg.contacts.contacts.funcs.encode = encode_contacts; rsp.msg.contacts.contacts.arg = &contacts; });