From a28b6b217aa45c4a2f8419e4b113af1fe34f3e5a Mon Sep 17 00:00:00 2001 From: Changhua Date: Fri, 18 Apr 2025 00:12:18 +0800 Subject: [PATCH] feat: adapt 3.9.12.51 --- WeChatFerry/spy/offsets.h | 90 +++++++++++++++++++-------------------- WeChatFerry/spy/spy.h | 2 +- 2 files changed, 45 insertions(+), 47 deletions(-) diff --git a/WeChatFerry/spy/offsets.h b/WeChatFerry/spy/offsets.h index 5066766..74e98f6 100644 --- a/WeChatFerry/spy/offsets.h +++ b/WeChatFerry/spy/offsets.h @@ -7,8 +7,8 @@ namespace Offsets namespace Account { - constexpr uint64_t SERVICE = 0x1B58B50; // 账户服务 - constexpr uint64_t PATH = 0x25E9090; // 数据路径 + constexpr uint64_t SERVICE = 0x1B5CA40; // 账户服务 + constexpr uint64_t PATH = 0x25F4A40; // 数据路径 constexpr uint64_t WXID = 0x80; // WXID constexpr uint64_t NAME = 0x1E8; // 昵称 constexpr uint64_t MOBILE = 0x128; // 手机号 @@ -18,16 +18,16 @@ namespace Account namespace Chatroom { - constexpr uint64_t MGR = 0x1B86F60; - constexpr uint64_t DEL = 0x2158830; - constexpr uint64_t ADD = 0x21581F0; - constexpr uint64_t INV = 0x2157BD0; + constexpr uint64_t MGR = 0x1B8AE40; + constexpr uint64_t DEL = 0x2163070; + constexpr uint64_t ADD = 0x2162A30; + constexpr uint64_t INV = 0x2162410; } namespace Contact { - constexpr uint64_t MGR = 0x1B44B20; - constexpr uint64_t LIST = 0x21A1E00; + constexpr uint64_t MGR = 0x1B489D0; + constexpr uint64_t LIST = 0x21ACBE0; constexpr uint64_t BIN = 0x200; constexpr uint64_t BIN_LEN = 0x208; constexpr uint64_t WXID = 0x10; @@ -37,18 +37,16 @@ namespace Contact constexpr uint64_t GENDER = 0x0E; constexpr uint64_t STEP = 0x6A8; - constexpr uint64_t VERIFY_NEW = 0x2621B00; - constexpr uint64_t VERIFY_OK = 0x1F421E0; - constexpr uint64_t VERIFY_MGR = 0x4F022A8; - constexpr uint64_t VERIFY_A8 = 0x2621B91; - constexpr uint64_t ADD_FRIEND_HELPER = 0x4EE4A20; - constexpr uint64_t FVDF = 0x4F02768; // FriendVeriyDialogFragment + constexpr uint64_t VERIFY_NEW = 0x262D800; + constexpr uint64_t VERIFY_OK = 0x1F48850; + constexpr uint64_t ADD_FRIEND_HELPER = 0x4F7FB18; // a1 + constexpr uint64_t FVDF = 0x4F9DE28; // FriendVeriyDialogFragment } namespace Db { - constexpr uint64_t INSTANCE = 0x59226C8; // 数据库实例地址 - constexpr uint64_t MSG_I = 0x5980420; // MSGi.db & MediaMsgi.db + constexpr uint64_t INSTANCE = 0x59D2008; // 数据库实例地址 + constexpr uint64_t MSG_I = 0x5A30158; // MSGi.db & MediaMsgi.db constexpr uint64_t MICROMSG = 0xB8; constexpr uint64_t CHAT_MSG = 0x2C8; constexpr uint64_t MISC = 0x5F0; @@ -59,7 +57,7 @@ namespace Db constexpr uint64_t NAME = 0x28; // SQLITE3 - constexpr uint64_t EXEC = 0x3A76430; + constexpr uint64_t EXEC = 0x3A820A0; // constexpr uint64_t BACKUP_INIT = EXEC - 0x1D113E0; constexpr uint64_t PREPARE = EXEC + 0x7CB0; // constexpr uint64_t OPEN = EXEC - 0x1CA2430; @@ -83,13 +81,13 @@ namespace Message { namespace Log { - constexpr uint64_t LEVEL = 0x56E4244; // 日志级别 - constexpr uint64_t CALL = 0x261B890; // 日志函数 + constexpr uint64_t LEVEL = 0x578DF28; // 日志级别 + constexpr uint64_t CALL = 0x2627590; // 日志函数 } namespace Receive { - constexpr uint64_t CALL = 0x2141E80; // 接收消息 Call + constexpr uint64_t CALL = 0x214C6C0; // 接收消息 Call constexpr uint64_t ID = 0x30; // 消息 ID constexpr uint64_t TYPE = 0x38; // 消息类型 constexpr uint64_t SELF = 0x3C; // 消息是否来自自己 @@ -102,7 +100,7 @@ namespace Message constexpr uint64_t EXTRA = 0x2A0; // 原图路径 constexpr uint64_t XML = 0x308; // 消息 XML - constexpr uint64_t PYQ_CALL = 0x2E56080; // 接收朋友圈 Call + constexpr uint64_t PYQ_CALL = 0x2E621D0; // 接收朋友圈 Call constexpr uint64_t PYQ_START = 0x30; // 开始地址 constexpr uint64_t PYQ_END = 0x38; // 结束地址 constexpr uint64_t PYQ_SENDER = 0x18; // 发布者 @@ -113,45 +111,45 @@ namespace Message namespace Send { - constexpr uint64_t MGR = 0x1B57350; - constexpr uint64_t INSTANCE = 0x1B614C0; - constexpr uint64_t FREE = 0x1B58BD0; - constexpr uint64_t TEXT = 0x22C9CA0; - constexpr uint64_t IMAGE = 0x22BF430; - constexpr uint64_t APP_MGR = 0x1B5C2F0; - constexpr uint64_t FILE = 0x20D30E0; - constexpr uint64_t XML = 0x20D2210; - constexpr uint64_t XML_BUF_SIGN = 0x24F95C0; - constexpr uint64_t EMOTION_MGR = 0x1BD2310; - constexpr uint64_t EMOTION = 0x21B8100; + constexpr uint64_t MGR = 0x1B5B210; + constexpr uint64_t INSTANCE = 0x1B653B0; + constexpr uint64_t FREE = 0x1B5CAC0; + constexpr uint64_t TEXT = 0x22D4A90; + constexpr uint64_t IMAGE = 0x22CA2A0; + constexpr uint64_t APP_MGR = 0x1B601E0; + constexpr uint64_t FILE = 0x20DE200; + constexpr uint64_t XML = 0x20DD330; + constexpr uint64_t XML_BUF_SIGN = 0x2503760; + constexpr uint64_t EMOTION_MGR = 0x1BD6300; + constexpr uint64_t EMOTION = 0x21C2EE0; - constexpr uint64_t NEW_MM_READER = 0x1B60A10; - constexpr uint64_t FREE_MM_READER = 0x1B5FDE0; - constexpr uint64_t RICH_TEXT = 0x20DD0C0; + constexpr uint64_t NEW_MM_READER = 0x1B64900; + constexpr uint64_t FREE_MM_READER = 0x1B63CD0; + constexpr uint64_t RICH_TEXT = 0x20E81E0; - constexpr uint64_t PAT = 0x2CC1E90; + constexpr uint64_t PAT = 0x2CCDDC0; - constexpr uint64_t FORWARD = 0x22C9220; + constexpr uint64_t FORWARD = 0x22D4010; } } namespace Misc { - constexpr uint64_t QR_CODE = 0x2025A80; + constexpr uint64_t QR_CODE = 0x202D3C0; constexpr uint64_t INSATNCE = Message::Send::INSTANCE; constexpr uint64_t FREE = Message::Send::FREE; - constexpr uint64_t CHAT_MGR = 0x1B8AA50; - constexpr uint64_t PRE_LOCAL_ID_MGR = 0x2142BF0; - constexpr uint64_t PRE_DOWNLOAD_MGR = 0x1C12260; - constexpr uint64_t PUSH_ATTACH_TASK = 0x1CE3050; + constexpr uint64_t CHAT_MGR = 0x1B8E930; + constexpr uint64_t PRE_LOCAL_ID_MGR = 0x214D430; + constexpr uint64_t PRE_DOWNLOAD_MGR = 0x1C17660; + constexpr uint64_t PUSH_ATTACH_TASK = 0x1CE8500; namespace Sns { - constexpr uint64_t DATA_MGR = 0x21E52F0; - constexpr uint64_t TIMELINE = 0x2DC6180; - constexpr uint64_t FIRST = 0x2E346C0; - constexpr uint64_t NEXT = 0x2E5A270; + constexpr uint64_t DATA_MGR = 0x21F00D0; + constexpr uint64_t TIMELINE = 0x2DD2320; + constexpr uint64_t FIRST = 0x2E40810; + constexpr uint64_t NEXT = 0x2E663C0; } } } diff --git a/WeChatFerry/spy/spy.h b/WeChatFerry/spy/spy.h index ae8f402..e460bc9 100644 --- a/WeChatFerry/spy/spy.h +++ b/WeChatFerry/spy/spy.h @@ -6,7 +6,7 @@ namespace Spy { -constexpr std::string_view SUPPORT_VERSION = "3.9.12.17"; +constexpr std::string_view SUPPORT_VERSION = "3.9.12.51"; inline std::atomic WeChatDll { 0 }; template inline T getFunction(std::uintptr_t offset) { return reinterpret_cast(WeChatDll + offset); }