From 9b541f993e744f7513d16a5b21fb8d48cd251245 Mon Sep 17 00:00:00 2001 From: hugy <504650082@qq.com> Date: Wed, 7 Jun 2023 15:41:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=203.9.2.23=E5=90=8C=E6=AD=A53.9.2.26?= =?UTF-8?q?=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.23.md | 387 +++++++++++++++++++++++++++++++++++++++++- src/chat_room_mgr.cc | 10 +- src/db.h | 1 - src/wechat_function.h | 212 +++++++++++------------ 4 files changed, 497 insertions(+), 113 deletions(-) diff --git a/doc/3.9.2.23.md b/doc/3.9.2.23.md index ceb9732..543a5dc 100644 --- a/doc/3.9.2.23.md +++ b/doc/3.9.2.23.md @@ -28,7 +28,7 @@ 36.关闭hook日志 40.转发消息 44.退出登录 - +45.确认收款 46.联系人列表 47.获取群详情 48.获取解密图片 @@ -41,6 +41,15 @@ 55.获取联系人或者群名称 56.获取消息附件(图片,视频,文件) 57.获取消息语音文件 +58.登录二维码 +59.邀请入群 +60.获取群/群成员详情 +61.撤回消息 +62.发送公众号消息 +63.转发公众号消息 +64.发送小程序 +65.退款 +66.下载头像 ### 接口文档: @@ -1622,6 +1631,382 @@ ``` +#### 58.登录url** +###### 接口功能 +> 登录的url,生成二维码即可扫描登录 + +###### 接口地址 +> [/api/?type=58](/api/?type=58) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| + + + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功, 非0失败| +|result|string|成功提示| +|url|string|登录url| + + + +###### 接口示例 +入参: +``` javascript + + +``` +响应: +``` javascript +{"code":1,"result":"OK","url":"https://weixin.qq.com/x/qqqqxxxxxx"} +``` + + +#### 59.邀请入群** +###### 接口功能 +> 邀请入群 + +###### 接口地址 +> [/api/?type=58](/api/?type=58) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|chatRoomId|string|群id| +|memberIds|string|成员id,以,分隔| + + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功, 非0失败| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "chatRoomId":"1111@chatroom", + "memberIds":"wxid_1111" +} + +``` +响应: +``` javascript +{"code":1,"result":"OK"} +``` + + +#### 60.群/群成员详情** +###### 接口功能 +> 邀请入群 + +###### 接口地址 +> [/api/?type=60](/api/?type=60) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|wxid|string|wxid| + + + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功, 非0失败| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "wxid":"wxid_8888" +} + +``` +响应: +``` javascript +{ + "account": "lllla", + "code": 1, + "headImage": "", + "nickname": "昵称", + "result": "OK", + "v3": "v3_020b3sssd031xxxxx05@stranger", + "wxid": "wxid_888888" +} +``` + +#### 61.撤回消息** +###### 接口功能 +> 撤回消息,有时间限制。 + +###### 接口地址 +> [/api/?type=61](/api/?type=61) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|msgId|string|消息id| + + + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功, 非0失败| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "msgId":45645454654654874548888 +} + +``` +响应: +``` javascript +{"code":1,"result":"OK"} +``` + + +#### 62.发送公众号消息** +###### 接口功能 +> 公众号文章分享/转发的功能 + +###### 接口地址 +> [/api/?type=62](/api/?type=62) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|appname|string|消息xml中的appname| +|username|string|消息xml中的username| +|title|string|消息xml中的title,文章的title| +|url|string|消息xml中的url,文章的uerl| +|thumburl|string|消息xml中的thumburl,缩略图| +|digest|string|消息xml中的digest| +|wxid|string|接收人wxid| + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功, 非0失败| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "appname": "电手", + "username": "gh_271633b4f577", + "title": "PC硬件、数码产品彻底反转,搞机佬春天回来了", + "url": "http://mp.weixin.qq.com/s?__biz=Mzg3MzY2MjgxMg==&mid=2247712540&idx=1&sn=bd8e8b0d9f2753f3c34a2bfc01770510&chksm=ced16f2ff9a6e639cc9bb76631ff03487f86486f0f29fcf9f8bed754354cb20eda31cc894a56&scene=0&xtrack=1#rd", + "thumburl": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/tpzwaqMCicQyEkBtLgibrKXVKD5gGUEtL00rJ2pxmpmmP9KgoBHiciamYhqZ0ff4kNlnPpnATqozxgRq4AtEzibo4iaw/640?wxtype=jpeg&wxfrom=0", + "digest": "这谁顶得住?", + "wxid": "filehelper" +} + +``` +响应: +``` javascript +{"code":0,"result":"OK"} +``` + +#### 63.转发公众号消息** +###### 接口功能 +> 转发收到的公众号的文章 + +###### 接口地址 +> [/api/?type=63](/api/?type=63) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|msgId|string|收到的消息msgId,type=49| +|wxid|string|接收人wxid| + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功, 非0失败| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "msgId": "123456456456", + "wxid": "filehelper" +} + +``` +响应: +``` javascript +{"code":0,"result":"OK"} +``` + + + +#### 64.发送小程序** +###### 接口功能 +> 发送小程序(该接口不是很完善,调用多了就提示操作过于频繁,可稍后再试。有兴趣的可以完善一下) + +###### 接口地址 +> [/api/?type=64](/api/?type=64) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|appletId|string|小程序id| +|wxid|string|接收人wxid| + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功, 0失败| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "appletId": "wa11223212", + "wxid": "filehelper" +} + +``` +响应: +``` javascript +{"code":1,"result":"OK"} +``` + + +#### 65.退款** +###### 接口功能 +> 收到转账消息后,自动退款。type=49 即是转账消息。 + +###### 接口地址 +> [/api/?type=65](/api/?type=65) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|wxid|string|转账人微信id,从hook的消息中获取| +|transcationId|string|从hook的消息中获取对应的字段内容。| +|transferId|string|从hook的消息中获取对应的字段内容。| + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "wxid":"wxid_agz5q76f11112", + "transcationId":"10000500012302060002831233124719620", + "transferId":"10000500012023020619112332136412" +} +``` +响应: +``` javascript +{"code":1,"result":"OK"} +``` + + +#### 66.查询或下载头像** +###### 接口功能 +> 暂时没用的功能 + +###### 接口地址 +> [/api/?type=66](/api/?type=66) + +###### HTTP请求方式 +> POST JSON + +###### 请求参数 +|参数|必选|类型|说明| +|---|---|---|---| +|wxid|string|微信id| +|imageUrl|string|头像地址| + + +###### 返回字段 +|返回字段|字段类型|说明 | +|---|---|---| +|code|int|返回状态,1成功| +|result|string|成功提示| + + + + +###### 接口示例 +入参: +``` javascript +{ + "wxid":"wxid_agz5q76f11112", + "imageUrl":"" +} +``` +响应: +``` javascript +{"code":1,"result":"OK"} +``` + + #### 感谢 https://github.com/ljc545w/ComWeChatRobot diff --git a/src/chat_room_mgr.cc b/src/chat_room_mgr.cc index 5100ca3..32591a6 100644 --- a/src/chat_room_mgr.cc +++ b/src/chat_room_mgr.cc @@ -390,11 +390,11 @@ int ChatRoomMgr::InviteMemberToChatRoom(wchar_t* chat_room_id, wchar_t** wxids, DWORD init_chat_msg_addr = base_addr_ + WX_INIT_CHAT_MSG_OFFSET; DWORD get_share_record_mgr_addr = base_addr_ + WX_SHARE_RECORD_MGR_OFFSET; - DWORD fn1 = base_addr_ + 0x7fa730; - DWORD fn2 = base_addr_ + 0x78d9a0; - DWORD fn3 = base_addr_ + 0x7fb6e0; - DWORD fn4 = base_addr_ + 0x755af0; - DWORD invite_addr = base_addr_ + 0xbd28a0; + DWORD fn1 = base_addr_ + 0x7f99d0; + DWORD fn2 = base_addr_ + 0x78cef0; + DWORD fn3 = base_addr_ + 0x7fa980; + DWORD fn4 = base_addr_ + 0x755060; + DWORD invite_addr = base_addr_ + 0xbd1a00; DWORD sys_addr = (DWORD)GetModuleHandleA("win32u.dll") + 0x116C; DWORD addr[2] = {sys_addr,0}; diff --git a/src/db.h b/src/db.h index 1f607c0..9a2df30 100644 --- a/src/db.h +++ b/src/db.h @@ -3,7 +3,6 @@ #include #include -#include "base_mgr.h" #include "wechat_function.h" #include "windows.h" #include "singleton.h" diff --git a/src/wechat_function.h b/src/wechat_function.h index 3976dd3..9223843 100644 --- a/src/wechat_function.h +++ b/src/wechat_function.h @@ -4,148 +4,148 @@ #include // snsDataMgr -#define WX_SNS_DATA_MGR_OFFSET 0xc3a500 +#define WX_SNS_DATA_MGR_OFFSET 0xc39680 // chatRoomMgr -#define WX_CHAT_ROOM_MGR_OFFSET 0x78d9d0 +#define WX_CHAT_ROOM_MGR_OFFSET 0x78cf20 // contactMgr -#define WX_CONTACT_MGR_OFFSET 0x75af30 +#define WX_CONTACT_MGR_OFFSET 0x75a4a0 // syncMgr #define WX_SYNC_MGR_OFFSET 0xa87fd0 // preDownloadMgr -#define WX_GET_PRE_DOWNLOAD_MGR_OFFSET 0x80fe50 +#define WX_GET_PRE_DOWNLOAD_MGR_OFFSET 0x80f110 // chatMgr -#define WX_CHAT_MGR_OFFSET 0x7931b0 +#define WX_CHAT_MGR_OFFSET 0x792700 // videoMgr -#define WX_VIDEO_MGR_OFFSET 0x82a560 +#define WX_VIDEO_MGR_OFFSET 0x829820 // patMgr -#define WX_PAT_MGR_OFFSET 0x932470 +#define WX_PAT_MGR_OFFSET 0x931730 // searchContactMgr -#define WX_SEARCH_CONTACT_MGR_OFFSET 0xa6d860 +#define WX_SEARCH_CONTACT_MGR_OFFSET 0xa6cb00 // appMsgMgr -#define WX_APP_MSG_MGR_OFFSET 0x76b8c0 +#define WX_APP_MSG_MGR_OFFSET 0x76ae20 // sendMessageMgr -#define WX_SEND_MESSAGE_MGR_OFFSET 0x768be0 +#define WX_SEND_MESSAGE_MGR_OFFSET 0x768140 // shareRecordMgr -#define WX_SHARE_RECORD_MGR_OFFSET 0x78d5f0 +#define WX_SHARE_RECORD_MGR_OFFSET 0x78cb40 // headImageMgr -#define WX_HEAD_IMAGE_MGR_OFFSET 0x808850 +#define WX_HEAD_IMAGE_MGR_OFFSET 0x807b00 // setChatMsgValue -#define WX_INIT_CHAT_MSG_OFFSET 0xf5b3f0 +#define WX_INIT_CHAT_MSG_OFFSET 0xf59e40 // chatMsg -#define WX_NEW_CHAT_MSG_OFFSET 0x76fab0 -#define WX_FREE_CHAT_MSG_OFFSET 0x7573f0 +#define WX_NEW_CHAT_MSG_OFFSET 0x76f010 +#define WX_FREE_CHAT_MSG_OFFSET 0x756960 // #define WX_FREE_CHAT_MSG_2_OFFSET 0x6f4ea0 -#define WX_FREE_CHAT_MSG_INSTANCE_COUNTER_OFFSET 0x7578c0 +#define WX_FREE_CHAT_MSG_INSTANCE_COUNTER_OFFSET 0x756e30 //sns -#define WX_SNS_GET_FIRST_PAGE_OFFSET 0x14e36e0 -#define WX_SNS_GET_NEXT_PAGE_OFFSET 0x14e3780 +#define WX_SNS_GET_FIRST_PAGE_OFFSET 0x14e2140 +#define WX_SNS_GET_NEXT_PAGE_OFFSET 0x14e21e0 //chat room -#define WX_GET_CHAT_ROOM_DETAIL_INFO_OFFSET 0xbdef30 +#define WX_GET_CHAT_ROOM_DETAIL_INFO_OFFSET 0xbde090 // chatRoomInfo -#define WX_NEW_CHAT_ROOM_INFO_OFFSET 0xe9abd0 -#define WX_FREE_CHAT_ROOM_INFO_OFFSET 0xe9aed0 -#define WX_DEL_CHAT_ROOM_MEMBER_OFFSET 0xbd3140 -#define WX_ADD_MEMBER_TO_CHAT_ROOM_OFFSET 0xbd2c60 +#define WX_NEW_CHAT_ROOM_INFO_OFFSET 0xe99c40 +#define WX_FREE_CHAT_ROOM_INFO_OFFSET 0xe99f40 +#define WX_DEL_CHAT_ROOM_MEMBER_OFFSET 0xbd22a0 +#define WX_ADD_MEMBER_TO_CHAT_ROOM_OFFSET 0xbd1dc0 // chatRoom -#define WX_INIT_CHAT_ROOM_OFFSET 0xe98820 -#define WX_FREE_CHAT_ROOM_OFFSET 0xe98a40 +#define WX_INIT_CHAT_ROOM_OFFSET 0xe97890 +#define WX_FREE_CHAT_ROOM_OFFSET 0xe97ab0 -#define WX_GET_MEMBER_FROM_CHAT_ROOM_OFFSET 0xbe0100 -#define WX_MOD_CHAT_ROOM_MEMBER_NICK_NAME_OFFSET 0xbda520 +#define WX_GET_MEMBER_FROM_CHAT_ROOM_OFFSET 0xbdf260 +#define WX_MOD_CHAT_ROOM_MEMBER_NICK_NAME_OFFSET 0xbd9680 -#define WX_TOP_MSG_OFFSET 0xbe26e0 -#define WX_REMOVE_TOP_MSG_OFFSET 0xbe24c0 +#define WX_TOP_MSG_OFFSET 0xbe1840 +#define WX_REMOVE_TOP_MSG_OFFSET 0xbe1620 -#define WX_GET_MEMBER_NICKNAME_OFFSET 0xbe0290 +#define WX_GET_MEMBER_NICKNAME_OFFSET 0xbdf3f0 -#define WX_FREE_CONTACT_OFFSET 0xea8800 +#define WX_FREE_CONTACT_OFFSET 0xea7880 // wcpayinfo -#define WX_NEW_WCPAYINFO_OFFSET 0x7b3900 -#define WX_FREE_WCPAYINFO_OFFSET 0x79cd00 -#define WX_CONFIRM_RECEIPT_OFFSET 0x15e41d0 +#define WX_NEW_WCPAYINFO_OFFSET 0x7b2e60 +#define WX_FREE_WCPAYINFO_OFFSET 0x79c250 +#define WX_CONFIRM_RECEIPT_OFFSET 0x15e2c20 //contact -#define WX_CONTACT_GET_LIST_OFFSET 0xc09890 +#define WX_CONTACT_GET_LIST_OFFSET 0xc089f0 #define WX_CONTACT_DEL_OFFSET 0xb9b3b0 #define WX_SET_VALUE_OFFSET 0x1f80900 #define WX_DO_DEL_CONTACT_OFFSET 0xca6480 -#define WX_GET_CONTACT_OFFSET 0xc05ca0 -#define WX_DO_VERIFY_USER_OFFSET 0xc02f90 -#define WX_VERIFY_MSG_OFFSET 0xf5b2f0 -#define WX_VERIFY_OK_OFFSET 0xa19940 -#define WX_NEW_ADD_FRIEND_HELPER_OFFSET 0xa18ac0 -#define WX_FREE_ADD_FRIEND_HELPER_OFFSET 0xa18be0 +#define WX_GET_CONTACT_OFFSET 0xc04e00 +#define WX_DO_VERIFY_USER_OFFSET 0xc02100 +#define WX_VERIFY_MSG_OFFSET 0xf59d40 +#define WX_VERIFY_OK_OFFSET 0xa18bd0 +#define WX_NEW_ADD_FRIEND_HELPER_OFFSET 0xa17d50 +#define WX_FREE_ADD_FRIEND_HELPER_OFFSET 0xa17e70 // pushAttachTask -#define WX_PUSH_ATTACH_TASK_OFFSET 0x82c880 +#define WX_PUSH_ATTACH_TASK_OFFSET 0x82bb40 -#define WX_GET_MGR_BY_PREFIX_LOCAL_ID_OFFSET 0xbc11d0 +#define WX_GET_MGR_BY_PREFIX_LOCAL_ID_OFFSET 0xbc0370 #define WX_APP_MSG_INFO_OFFSET 0x7b3d20 #define WX_GET_APP_MSG_XML_OFFSET 0xe628a0 -#define WX_FREE_APP_MSG_INFO_OFFSET 0x79e3b0 -#define WX_PUSH_THUMB_TASK_OFFSET 0x82c780 +#define WX_FREE_APP_MSG_INFO_OFFSET 0x79d900 +#define WX_PUSH_THUMB_TASK_OFFSET 0x82ba40 #define WX_DOWNLOAD_VIDEO_IMG_OFFSET 0xd46c30 // revoke -#define WX_REVOKE_MSG_OFFSET 0xbb6dc0 +#define WX_REVOKE_MSG_OFFSET 0xbb5f70 // pat -#define WX_SEND_PAT_MSG_OFFSET 0x1422f30 -#define WX_RET_OFFSET 0x1D59DB1 +#define WX_SEND_PAT_MSG_OFFSET 0x1421940 +#define WX_RET_OFFSET 0x1D58751 //search hook -#define WX_SEARCH_CONTACT_ERROR_CODE_HOOK_OFFSET 0xe17ed4 -#define WX_SEARCH_CONTACT_ERROR_CODE_HOOK_NEXT_OFFSET 0xf58fd0 -#define WX_SEARCH_CONTACT_DETAIL_HOOK_OFFSET 0xa8dc00 -#define WX_SEARCH_CONTACT_DETAIL_HOOK_NEXT_OFFSET 0xa8de50 -#define WX_SEARCH_CONTACT_OFFSET 0xcd2370 +#define WX_SEARCH_CONTACT_ERROR_CODE_HOOK_OFFSET 0xe17054 +#define WX_SEARCH_CONTACT_ERROR_CODE_HOOK_NEXT_OFFSET 0xf57a20 +#define WX_SEARCH_CONTACT_DETAIL_HOOK_OFFSET 0xa8ceb0 +#define WX_SEARCH_CONTACT_DETAIL_HOOK_NEXT_OFFSET 0xa8d100 +#define WX_SEARCH_CONTACT_OFFSET 0xcd1510 //login #define WX_LOGIN_URL_OFFSET 0x3040DE8 -#define WX_LOGOUT_OFFSET 0xe596d0 -#define WX_ACCOUNT_SERVICE_OFFSET 0x769720 -#define WX_GET_APP_DATA_SAVE_PATH_OFFSET 0xf3bbd0 -#define WX_GET_CURRENT_DATA_PATH_OFFSET 0xc88120 -#define WX_QR_CODE_LOGIN_MGR_OFFSET 0xaeab70 -#define WX_GET_QR_CODE_IMAGE_OFFSET 0xcdb560 +#define WX_LOGOUT_OFFSET 0xe58870 +#define WX_ACCOUNT_SERVICE_OFFSET 0x768c80 +#define WX_GET_APP_DATA_SAVE_PATH_OFFSET 0xf3a610 +#define WX_GET_CURRENT_DATA_PATH_OFFSET 0xc872c0 +#define WX_QR_CODE_LOGIN_MGR_OFFSET 0xae9db0 +#define WX_GET_QR_CODE_IMAGE_OFFSET 0xcda6f0 //forward -#define WX_FORWARD_MSG_OFFSET 0xce75a0 +#define WX_FORWARD_MSG_OFFSET 0xce6730 // send file -#define WX_SEND_FILE_OFFSET 0xb6dfd0 +#define WX_SEND_FILE_OFFSET 0xb6d1f0 // send image -#define WX_SEND_IMAGE_OFFSET 0xce74b0 +#define WX_SEND_IMAGE_OFFSET 0xce6640 // send text -#define WX_SEND_TEXT_OFFSET 0xce7af0 +#define WX_SEND_TEXT_OFFSET 0xce6c80 //ocr -#define WX_INIT_OBJ_OFFSET 0x80b540 -#define WX_OCR_MANAGER_OFFSET 0x80ffc0 -#define WX_DO_OCR_TASK_OFFSET 0x13db9a0 +#define WX_INIT_OBJ_OFFSET 0x80a800 +#define WX_OCR_MANAGER_OFFSET 0x80f270 +#define WX_DO_OCR_TASK_OFFSET 0x13da3e0 //storage -#define CONTACT_G_PINSTANCE_OFFSET 0x2fffe08 +#define CONTACT_G_PINSTANCE_OFFSET 0x2ffddc8 #define DB_MICRO_MSG_OFFSET 0x68 #define DB_CHAT_MSG_OFFSET 0x1C0 #define DB_MISC_OFFSET 0x3D8 @@ -158,10 +158,10 @@ #define STORAGE_START_OFFSET 0x13f8 #define STORAGE_END_OFFSET 0x13fc -#define PUBLIC_MSG_MGR_OFFSET 0x30400a4 -#define MULTI_DB_MSG_MGR_OFFSET 0x30424dc -#define FAVORITE_STORAGE_MGR_OFFSET 0x3041e70 -#define FTS_FAVORITE_MGR_OFFSET 0x3000948 +#define PUBLIC_MSG_MGR_OFFSET 0x303df74 +#define MULTI_DB_MSG_MGR_OFFSET 0x30403b8 +#define FAVORITE_STORAGE_MGR_OFFSET 0x303fd40 +#define FTS_FAVORITE_MGR_OFFSET 0x2ffe908 #define OP_LOG_STORAGE_VFTABLE 0x2AD3A20 #define CHAT_MSG_STORAGE_VFTABLE 0x2AC10F0 @@ -193,22 +193,22 @@ // public msg forward -#define NEW_MM_READ_ITEM_OFFSET 0x76f0d0 -#define FREE_MM_READ_ITEM_OFFSET 0x76e4d0 -#define FREE_MM_READ_ITEM_2_OFFSET 0x76edf0 -#define FORWARD_PUBLIC_MSG_OFFSET 0xb73de0 +#define NEW_MM_READ_ITEM_OFFSET 0x76e630 +#define FREE_MM_READ_ITEM_OFFSET 0x76da30 +#define FREE_MM_READ_ITEM_2_OFFSET 0x76e350 +#define FORWARD_PUBLIC_MSG_OFFSET 0xb73000 // send app msg -#define NEW_SHARE_APP_MSG_REQ_OFFSET 0xfbae50 +#define NEW_SHARE_APP_MSG_REQ_OFFSET 0xfb9890 // #define FREE_SHARE_APP_MSG_REQ_OFFSET 0xfbc0d0 -#define FREE_SHARE_APP_MSG_REQ_OFFSET 0xfbc100 -#define NEW_WA_UPDATABLE_MSG_INFO_OFFSET 0x7b3d30 -#define FREE_WA_UPDATABLE_MSG_INFO_OFFSET 0x79d4c0 -#define SEND_APP_MSG_OFFSET 0xfe8e40 +#define FREE_SHARE_APP_MSG_REQ_OFFSET 0xfbab40 +#define NEW_WA_UPDATABLE_MSG_INFO_OFFSET 0x7b3290 +#define FREE_WA_UPDATABLE_MSG_INFO_OFFSET 0x79ca10 +#define SEND_APP_MSG_OFFSET 0xfe7840 // query head image then download -#define QUERY_THEN_DOWNLOAD_OFFSET 0xc642f0 +#define QUERY_THEN_DOWNLOAD_OFFSET 0xc63470 /*******************hook*********************************************/ @@ -221,21 +221,21 @@ // hook log -#define WX_HOOK_LOG_OFFSET 0xf59317 -#define WX_HOOK_LOG_NEXT_OFFSET 0x24102b4 +#define WX_HOOK_LOG_OFFSET 0xf57d67 +#define WX_HOOK_LOG_NEXT_OFFSET 0x240ea71 // hook msg -#define WX_RECV_MSG_HOOK_OFFSET 0xd1a89b -#define WX_RECV_MSG_HOOK_NEXT_OFFSET 0x7573f0 -#define WX_SNS_HOOK_OFFSET 0x14fb3b5 -#define WX_SNS_HOOK_NEXT_OFFSET 0x14fb640 +#define WX_RECV_MSG_HOOK_OFFSET 0xd19a0b +#define WX_RECV_MSG_HOOK_NEXT_OFFSET 0x756960 +#define WX_SNS_HOOK_OFFSET 0x14f9e15 +#define WX_SNS_HOOK_NEXT_OFFSET 0x14fa0a0 // hook voice #define WX_HOOK_VOICE_OFFSET 0xd4d8d8 #define WX_HOOK_VOICE_NEXT_OFFSET 0x203d130 -#define WX_SELF_ID_OFFSET 0x2FFD484 +#define WX_SELF_ID_OFFSET 0x2FFD484 /*******************hook end*********************************************/ @@ -375,24 +375,24 @@ #define SQLITE_NULL 5 #define SQLITE_TEXT 3 -#define SQLITE3_EXEC_OFFSET 0x1e26770 -#define SQLITE3_BACKUP_INIT_OFFSET 0x1dec100 -#define SQLITE3_PREPARE_OFFSET 0x1E2D0C0 -#define SQLITE3_OPEN_OFFSET 0x1e5b090 -#define SQLITE3_BACKUP_STEP_OFFSET 0x1DEC500 -#define SQLITE3_BACKUP_REMAINING_OFFSET 0x1DECC40 -#define SQLITE3_BACKUP_PAGECOUNT_OFFSET 0x1DECC50 -#define SQLITE3_BACKUP_FINISH_OFFSET 0x1DECB40 -#define SQLITE3_SLEEP_OFFSET 0x1e5b8d0 -#define SQLITE3_ERRCODE_OFFSET 0x1e59d30 -#define SQLITE3_CLOSE_OFFSET 0x1e584b0 -#define SQLITE3_STEP_OFFSET 0x1df4f70 -#define SQLITE3_COLUMN_COUNT_OFFSET 0x1df5480 -#define SQLITE3_COLUMN_NAME_OFFSET 0x1df5d70 -#define SQLITE3_COLUMN_TYPE_OFFSET 0x1df5c10 -#define SQLITE3_COLUMN_BLOB_OFFSET 0x1df54c0 -#define SQLITE3_COLUMN_BYTES_OFFSET 0x1df55a0 -#define SQLITE3_FINALIZE_OFFSET 0x1df3f40 +#define SQLITE3_EXEC_OFFSET 0x1e24f70 +#define SQLITE3_BACKUP_INIT_OFFSET 0x1dea900 +#define SQLITE3_PREPARE_OFFSET 0x1e2b8c0 +#define SQLITE3_OPEN_OFFSET 0x1e598b0 +#define SQLITE3_BACKUP_STEP_OFFSET 0x1dead00 +#define SQLITE3_BACKUP_REMAINING_OFFSET 0x1deb440 +#define SQLITE3_BACKUP_PAGECOUNT_OFFSET 0x1deb450 +#define SQLITE3_BACKUP_FINISH_OFFSET 0x1deb340 +#define SQLITE3_SLEEP_OFFSET 0x1e5a0f0 +#define SQLITE3_ERRCODE_OFFSET 0x1e58550 +#define SQLITE3_CLOSE_OFFSET 0x1e56cd0 +#define SQLITE3_STEP_OFFSET 0x1df3770 +#define SQLITE3_COLUMN_COUNT_OFFSET 0x1df3c80 +#define SQLITE3_COLUMN_NAME_OFFSET 0x1df4570 +#define SQLITE3_COLUMN_TYPE_OFFSET 0x1df4410 +#define SQLITE3_COLUMN_BLOB_OFFSET 0x1df3cc0 +#define SQLITE3_COLUMN_BYTES_OFFSET 0x1df3da0 +#define SQLITE3_FINALIZE_OFFSET 0x1df2740 typedef int (*Sqlite3_callback)(void*, int, char**, char**);