Skip to content

客户端基建 client ​

客户端(虚拟 App 进程 + 主进程)的基础设施——Hook 框架基类、IPC 客户端代理、Stub 组件、修复器、运行环境。这是支撑 45 个 服务代理 运转的骨架。

模块总览 ​

模块文件数职责文档
顶层2VClientImpl(客户端核心)+ NativeEngine(native 桥)客户端核心 · Native 桥
core/4VirtualCore(引擎单例)+ InvocationStubManager(代理注册器)引擎核心
hook/base/17Hook 框架基类:MethodProxy/BinderInvocationProxy 等Hook 基类
hook/delegate/5Hook 委托扩展点(如 PhoneInfoDelegate)Hook 委托
hook/providers/7ContentProvider Hook(ProviderHook 等)Provider Hook
hook/secondary/4次级 Hook(跨组件)次级 Hook
hook/utils/1Hook 工具Hook 工具
ipc/12server 服务的客户端 IPC 代理 + ServiceManagerNativeIPC 代理
stub/17Stub 组件(Activity/CP/Service/Receiver 占位)Stub 组件
fixer/3修复器(Activity/组件/Context 字段修复)修复器
env/6运行环境常量、特殊组件列表、GPS 模拟运行环境
natives/1NativeMethods(native 方法符号缓存)Native 方法表
interfaces/1客户端接口定义接口
badger/4角标(Badge)支持角标

启动关系 ​

bindApplication 数据流 ​

VClientImpl.bindApplicationNoCheck 是把宿主进程变成目标 App 的总入口,串联 client 各子模块:

阅读顺序 ​

步骤文档了解什么
1VClientImpl客户端核心,bindApplication 全流程
2core引擎单例 VirtualCore 与代理注册器
3InvocationStubManager48 代理如何被批量注入
4hook/baseHook 框架基类(MethodProxy 等)
5stubStub Activity/CP/Service 占位还原
645 个服务代理各系统服务如何被劫持

基于 VirtualApp 与 epic,仅供学习研究。VirtualApp 禁止商用。