Skip to content

client/hook/base · Hook 框架基类 ​

VirtualXposed Hook 框架的基类体系,共 17 个文件。所有 服务代理 都建立在这套基类上。详见 系统服务 Hook。

类继承体系 ​

关键类 ​

类职责
MethodProxy所有方法代理的基类,定义 beforeCall/call/afterCall/isEnable
BinderInvocationProxy替换 ServiceManager.sCache[service] 为假 IBinder,48 代理的基类
BinderInvocationStub假 IBinder 实现,queryLocalInterface 返回带 MethodProxy 的动态代理
MethodInvocationStubProxy.newProxyInstance + HookInvocationHandler(按方法名分发)
MethodInvocationProxyIInjector 实现,组合 stub + 注入逻辑
Inject / SkipInject注解:@Inject 标记内部类批量注册 MethodProxy
Replace*MethodProxy一族现成的方法代理,改写调用参数里的 UID/包名(最常用)
StaticMethodProxy / ResultStaticMethodProxy返回固定结果/短路
MethodBox / LogInvocation工具:方法签名封装、调用日志

工作流 ​

子文档详解 ​

每个核心类/功能点都有独立文档:

文档主题
MethodProxy方法代理基类,beforeCall/call/afterCall 抽象 + 便捷静态方法
MethodInvocationStub动态代理分发器,HookInvocationHandler 按名路由
BinderInvocationStub假 IBinder,replaceService 替换 ServiceManager 缓存
MethodInvocationProxyIInjector 实现,组合 stub + 注入逻辑
BinderInvocationProxy48 服务代理的实际基类,触发 binder 替换
Replace*MethodProxy 族改写参数包名/UID 的现成代理
StaticMethodProxy静态代理基类(不改语义)
ResultStaticMethodProxy固定返回/短路代理
@Inject / @SkipInject批量注册注解
LogInvocation调用日志注解
MethodBox方法调用三件套封装

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