Skip to content

bluetooth · 蓝牙代理 ​

拦截蓝牙相关系统服务。替换 ServiceManager.sCache["bluetooth"],拦截 getAddress 返回伪造的蓝牙 MAC 地址,隔离虚拟 App 的蓝牙设备身份。

拦截的服务 ​

"bluetooth"(SDK≥17 为 "bluetooth_manager"),继承 BinderInvocationProxy。

关键行为 ​

核心是 getAddress 的固定返回代理——call 阶段直接返回 getDeviceInfo().bluetoothMac(来自 VDeviceInfo 的伪造 MAC),不走真实蓝牙协议栈。其余调用放行原服务。标有 @FakeDeviceMark("fake MAC")。

拦截方法清单 ​

从源码 onBindMethods / @Inject 内部类提取的 MethodProxy 拦截点:

- getAddress

拦截与转发流程 ​

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