feat: AI Brain、防封与 Hook 升级、Android 精简版、SDK 文档与进度更新
Made-with: Cursor
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
"""
|
||||
Hook Executor — 将 unified API 动作映射到 Frida rpc.exports 调用
|
||||
Hook Executor v3.0 — 将 unified API 动作映射到 Frida rpc.exports 调用
|
||||
|
||||
职责:
|
||||
- 接收 unified 指令(send_message / get_contacts / add_friend / …)
|
||||
@@ -9,55 +9,191 @@ Hook Executor — 将 unified API 动作映射到 Frida rpc.exports 调用
|
||||
对接:
|
||||
- 服务端 unified.py → WebSocket 下发 → Agent → HookExecutor
|
||||
- 或 ADB 模式:unified.py → HookExecutor(本地 Frida)
|
||||
|
||||
支持 110 个操作 / 24 模块,与 wechat_hook_v3.0.js rpc.exports 一一对应
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Dict, Any, Optional
|
||||
from typing import Dict, Any
|
||||
from .frida_manager import FridaManager
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
ACTION_TO_RPC = {
|
||||
# 消息 (H15/H17)
|
||||
"send_message": "sendMessage",
|
||||
"get_messages": "getMessages",
|
||||
"get_recent_messages": "getRecentMessages",
|
||||
"search_messages": "searchMessages",
|
||||
# 联系人 (H16)
|
||||
"get_contacts": "getContacts",
|
||||
"get_contact_info": "getContactInfo",
|
||||
"search_contacts": "searchContacts",
|
||||
# 好友 (H18/H19)
|
||||
"add_friend": "addFriend",
|
||||
"accept_friend": "acceptFriend",
|
||||
"delete_friend": "deleteFriend",
|
||||
"set_friend_remark": "setFriendRemark",
|
||||
"get_friend_requests": "getFriendRequests",
|
||||
# 群 (H22)
|
||||
"get_groups": "getGroups",
|
||||
"get_group_info": "getGroupInfo",
|
||||
"get_group_members": "getGroupMembers",
|
||||
"send_group_message": "sendGroupMessage",
|
||||
"create_group": "createGroup",
|
||||
"invite_to_group": "inviteToGroup",
|
||||
"remove_from_group": "removeFromGroup",
|
||||
"set_group_announcement": "setGroupAnnouncement",
|
||||
"set_group_name": "setGroupName",
|
||||
"quit_group": "quitGroup",
|
||||
# 朋友圈 (H20/H21)
|
||||
"post_moments": "postMoments",
|
||||
"get_moments": "getMoments",
|
||||
"like_moments": "likeMoments",
|
||||
"comment_moments": "commentMoments",
|
||||
# 系统
|
||||
"get_hook_status": "getHookStatus",
|
||||
"get_process_info": "getProcessInfo",
|
||||
ACTION_TO_RPC: Dict[str, str] = {
|
||||
# ── H17 消息发送 ──
|
||||
"send_message": "sendMessage",
|
||||
"send_group_message": "sendGroupMessage",
|
||||
|
||||
# ── H15 消息获取 ──
|
||||
"get_messages": "getMessages",
|
||||
"get_recent_messages": "getRecentMessages",
|
||||
"search_messages": "searchMessages",
|
||||
|
||||
# ── H16 联系人 ──
|
||||
"get_contacts": "getContacts",
|
||||
"get_contact_info": "getContactInfo",
|
||||
"search_contacts": "searchContacts",
|
||||
|
||||
# ── H18/H19 好友管理 ──
|
||||
"add_friend": "addFriend",
|
||||
"accept_friend": "acceptFriend",
|
||||
"delete_friend": "deleteFriend",
|
||||
"set_friend_remark": "setFriendRemark",
|
||||
"get_friend_requests": "getFriendRequests",
|
||||
|
||||
# ── H22 群管理 ──
|
||||
"get_groups": "getGroups",
|
||||
"get_group_info": "getGroupInfo",
|
||||
"get_group_members": "getGroupMembers",
|
||||
"create_group": "createGroup",
|
||||
"invite_to_group": "inviteToGroup",
|
||||
"remove_from_group": "removeFromGroup",
|
||||
"set_group_announcement": "setGroupAnnouncement",
|
||||
"set_group_name": "setGroupName",
|
||||
"quit_group": "quitGroup",
|
||||
|
||||
# ── H20/H21 朋友圈 ──
|
||||
"post_moments": "postMoments",
|
||||
"get_moments": "getMoments",
|
||||
"like_moments": "likeMoments",
|
||||
"comment_moments": "commentMoments",
|
||||
"delete_moments": "deleteMoments",
|
||||
|
||||
# ── H23 账号管理 ──
|
||||
"get_profile": "getProfile",
|
||||
"check_account_status": "checkAccountStatus",
|
||||
"set_nickname": "setNickname",
|
||||
"set_signature": "setSignature",
|
||||
"set_avatar": "setAvatar",
|
||||
"set_sex": "setSex",
|
||||
"set_region": "setRegion",
|
||||
"set_whats_up": "setWhatUp",
|
||||
|
||||
# ── H24 账号安全 ──
|
||||
"unblock_self": "unblockSelf",
|
||||
"change_password": "changePassword",
|
||||
"bind_phone": "bindPhone",
|
||||
"unbind_phone": "unbindPhone",
|
||||
"get_login_devices": "getLoginDevices",
|
||||
"remove_login_device": "removeLoginDevice",
|
||||
"enable_fingerprint": "enableFingerprint",
|
||||
"set_account_protection": "setAccountProtection",
|
||||
|
||||
# ── H25 支付 ──
|
||||
"send_red_packet": "sendRedPacket",
|
||||
"receive_red_packet": "receiveRedPacket",
|
||||
"send_transfer": "sendTransfer",
|
||||
"receive_transfer": "receiveTransfer",
|
||||
"get_wallet_balance": "getWalletBalance",
|
||||
"get_transaction_history": "getTransactionHistory",
|
||||
|
||||
# ── H26 二维码 ──
|
||||
"scan_qr_code": "scanQrCode",
|
||||
"generate_my_qr_code": "generateMyQrCode",
|
||||
"generate_group_qr_code": "generateGroupQrCode",
|
||||
"add_friend_by_qr": "addFriendByQr",
|
||||
|
||||
# ── H27 视频号 ──
|
||||
"browse_channels": "browseChannels",
|
||||
"like_channel_video": "likeChannelVideo",
|
||||
"comment_channel_video": "commentChannelVideo",
|
||||
"follow_channel": "followChannel",
|
||||
"unfollow_channel": "unfollowChannel",
|
||||
"share_channel_video": "shareChannelVideo",
|
||||
|
||||
# ── H28 标签 ──
|
||||
"get_labels": "getLabels",
|
||||
"create_label": "createLabel",
|
||||
"delete_label": "deleteLabel",
|
||||
"set_contact_label": "setContactLabel",
|
||||
"get_contacts_by_label": "getContactsByLabel",
|
||||
|
||||
# ── H29 收藏 ──
|
||||
"get_favorites": "getFavorites",
|
||||
"add_favorite": "addFavorite",
|
||||
"delete_favorite": "deleteFavorite",
|
||||
|
||||
# ── H30 设置 ──
|
||||
"set_privacy": "setPrivacy",
|
||||
"set_notification": "setNotification",
|
||||
"clear_chat_history": "clearChatHistory",
|
||||
"set_chat_background": "setChatBackground",
|
||||
"set_do_not_disturb": "setDoNotDisturb",
|
||||
"pin_chat": "pinChat",
|
||||
|
||||
# ── H31 搜索 ──
|
||||
"global_search": "globalSearch",
|
||||
|
||||
# ── H32 小程序 ──
|
||||
"open_mini_program": "openMiniProgram",
|
||||
"get_recent_mini_programs": "getRecentMiniPrograms",
|
||||
"share_mini_program": "shareMiniProgram",
|
||||
|
||||
# ── H33 文件传输 ──
|
||||
"send_image": "sendImage",
|
||||
"send_video": "sendVideo",
|
||||
"send_file": "sendFile",
|
||||
"send_voice": "sendVoice",
|
||||
"send_location": "sendLocation",
|
||||
"send_card": "sendCard",
|
||||
"send_link": "sendLink",
|
||||
|
||||
# ── H34 消息转发 ──
|
||||
"forward_message": "forwardMessage",
|
||||
"forward_multiple": "forwardMultiple",
|
||||
"revoke_message": "revokeMessage",
|
||||
|
||||
# ── H35 注册/登录 ──
|
||||
"register_account": "registerAccount",
|
||||
"login_by_password": "loginByPassword",
|
||||
"login_by_sms": "loginBySms",
|
||||
"logout": "logout",
|
||||
"switch_account": "switchAccount",
|
||||
"auto_register": "autoRegister",
|
||||
"check_login_state": "checkLoginState",
|
||||
"get_sim_phone": "getSimPhone",
|
||||
|
||||
# ── H36 公众号 ──
|
||||
"get_official_accounts": "getOfficialAccounts",
|
||||
"follow_official_account": "followOfficialAccount",
|
||||
"unfollow_official_account": "unfollowOfficialAccount",
|
||||
"get_official_account_articles": "getOfficialAccountArticles",
|
||||
|
||||
# ── H37 表情 ──
|
||||
"send_emoji": "sendEmoji",
|
||||
"add_custom_emoji": "addCustomEmoji",
|
||||
|
||||
# ── H38 浮窗 ──
|
||||
"add_to_float": "addToFloat",
|
||||
"remove_from_float": "removeFromFloat",
|
||||
|
||||
# ── H39 设备信息 ──
|
||||
"get_device_info": "getDeviceInfo",
|
||||
"get_storage_info": "getStorageInfo",
|
||||
"get_network_info": "getNetworkInfo",
|
||||
|
||||
# ── 系统 ──
|
||||
"get_hook_status": "getHookStatus",
|
||||
"get_process_info": "getProcessInfo",
|
||||
"get_wechat_version": "getWechatVersion",
|
||||
"batch_execute": "batchExecute",
|
||||
}
|
||||
|
||||
MODULE_NAMES = {
|
||||
"H15": "消息接收", "H16": "联系人", "H17": "消息发送",
|
||||
"H18": "好友请求", "H19": "好友管理", "H20": "朋友圈发布",
|
||||
"H21": "朋友圈浏览", "H22": "群管理", "H23": "账号管理",
|
||||
"H24": "账号安全", "H25": "支付", "H26": "二维码",
|
||||
"H27": "视频号", "H28": "标签", "H29": "收藏",
|
||||
"H30": "设置", "H31": "搜索", "H32": "小程序",
|
||||
"H33": "文件传输", "H34": "消息转发", "H35": "注册/登录",
|
||||
"H36": "公众号", "H37": "表情", "H38": "浮窗",
|
||||
"H39": "设备信息",
|
||||
}
|
||||
|
||||
|
||||
class HookExecutor:
|
||||
"""将 unified 动作转为 Frida RPC 调用"""
|
||||
"""将 unified 动作转为 Frida RPC 调用 — 110 个操作全覆盖"""
|
||||
|
||||
def __init__(self, frida_mgr: FridaManager):
|
||||
self.frida = frida_mgr
|
||||
@@ -82,9 +218,14 @@ class HookExecutor:
|
||||
def supports(self, action: str) -> bool:
|
||||
return action in ACTION_TO_RPC
|
||||
|
||||
def get_supported_actions(self) -> list:
|
||||
return sorted(ACTION_TO_RPC.keys())
|
||||
|
||||
def get_status(self) -> Dict[str, Any]:
|
||||
return {
|
||||
"available": self.available,
|
||||
"supported_actions": list(ACTION_TO_RPC.keys()),
|
||||
"total_actions": len(ACTION_TO_RPC),
|
||||
"supported_actions": self.get_supported_actions(),
|
||||
"modules": MODULE_NAMES,
|
||||
"frida": self.frida.get_status(),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user