服务代理 proxies
VirtualXposed 在客户端(虚拟 App 进程)用 45 个服务代理拦截目标 App 对系统服务的调用。每个代理对应一个 Android 系统服务,把目标 App 的请求重定向到 VirtualXposed 自己的虚拟服务或就地改写参数。
统一模式
所有代理都遵循同一套套路(详见 系统服务 Hook):
每个代理目录下的文件角色固定:
| 文件 | 作用 |
|---|---|
XxxStub.java | 代理入口,继承 BinderInvocationProxy,构造时指定 service 名,onBindMethods 注册 MethodProxy |
MethodProxies.java | 用 @Inject 注解批量定义的内部类 MethodProxy 集合(大代理才有) |
| 辅助类 | 如 location 的 MockLocationHelper、GPSListenerThread |
45 个代理一览
| 代理 | 拦截服务 | MethodProxy 数 | 文档 |
|---|---|---|---|
| account | ACCOUNT_SERVICE | ~30 | 账户 |
| alarm | ALARM_SERVICE | — | 闹钟 |
| am | activity | 12 | 活动管理 |
| appops | APP_OPS_SERVICE | — | 应用操作 |
| appwidget | APPWIDGET_SERVICE | — | 桌面小部件 |
| audio | AUDIO_SERVICE | — | 音频 |
| backup | backup | — | 备份 |
| battery | batterystats | — | 电池统计 |
| bluetooth | bluetooth | — | 蓝牙 |
| clipboard | CLIPBOARD_SERVICE | — | 剪贴板 |
| connectivity | CONNECTIVITY_SERVICE | — | 网络连接 |
| content | content | — | 内容服务 |
| context_hub | contexthub | — | 上下文中心 |
| devicepolicy | DEVICE_POLICY_SERVICE | — | 设备策略 |
| display | display | — | 显示 |
| dropbox | DROPBOX_SERVICE | — | DropBox |
| fingerprint | FINGERPRINT_SERVICE | — | 指纹 |
| graphics | graphicsstats | — | 图形统计 |
| imms | imms | — | 彩信 |
| input | INPUT_METHOD_SERVICE | — | 输入法 |
| isms | isms | — | 短信 |
| isub | isub | — | 订阅 |
| job | JOB_SCHEDULER_SERVICE | — | 作业调度 |
| libcore | chown 等 | 5 | LibCore |
| location | LOCATION_SERVICE | 17 | 定位 |
| media | — | — | 媒体 |
| mount | mount | — | 挂载 |
| network | network | — | 网络管理 |
| notification | notification | 16 | 通知 |
| os | unknown | — | 设备标识 |
| persistent_data_block | write | — | 持久数据块 |
| phonesubinfo | iphonesubinfo | 18 | 电话子信息 |
| pm | LAUNCHER_APPS_SERVICE | 28 | 包管理 |
| power | POWER_SERVICE | — | 电源 |
| restriction | RESTRICTIONS_SERVICE | — | 限制 |
| search | SEARCH_SERVICE | — | 搜索 |
| shortcut | shortcut | — | 快捷方式 |
| telephony | listen 等 | 33 | 电话 |
| usage | USAGE_STATS_SERVICE | — | 使用统计 |
| user | USER_SERVICE | — | 用户 |
| vibrator | VIBRATOR_SERVICE | — | 振动 |
| view | autofill | — | 视图 |
| wifi | WIFI_SERVICE | — | WiFi |
| wifi_scanner | wifiscanner | — | WiFi 扫描 |
| window | WINDOW_SERVICE | 2 | 窗口 |
💡 "—" 表示该代理主要靠基类
BinderInvocationProxy的默认行为或单一泛化 MethodProxy(如ReplaceCallingPkgMethodProxy),无需逐个定义 MethodProxy。