Skip to content

telephony · 电话代理 ​

拦截电话相关服务——核心代理之一,共 33 个 MethodProxy,是 设备信息伪造 和 虚拟定位 的重要落点。

文件组成 ​

文件职责
TelephonyStub.java主代理,拦截 phone(ITelephony)服务,返回伪造 IMEI/基站
TelephonyRegistryStub.java拦截 telephony.registry,改写电话状态监听回调
MethodProxies.javaMethodProxy 集合

关键 MethodProxy ​

MethodProxies.java 定义设备/基站信息查询:

  • 设备:GetDeviceId — 返回伪造 IMEI
  • 基站:GetCellLocation / GetAllCellInfo / GetNeighboringCellInfo / getAllCellInfoUsingSubId — 返回伪造 VCell

(每个含多订阅 ID 重载,故总数达 33)

与虚拟服务的关系 ​

返回值来自 server 的 VirtualLocationService(基站)和 VDeviceManagerService(IMEI),见 虚拟定位 与 设备信息伪造。

拦截方法清单 ​

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

- call
- getAllCellInfo
- getAllCellInfoUsingSubId
- getCalculatedPreferredNetworkType
- getCdmaEriIconIndex
- getCdmaEriIconIndexForSubscriber
- getCdmaEriIconMode
- getCdmaEriIconModeForSubscriber
- getCdmaEriText
- getCdmaEriTextForSubscriber
- getCellLocation
- getDataNetworkType
- getDataNetworkTypeForSubscriber
- getDeviceId
- getDeviceIdWithFeature
- getLine1AlphaTagForDisplay
- getLine1NumberForDisplay
- getLteOnCdmaMode
- getLteOnCdmaModeForSubscriber
- getMergedSubscriberIds
- getNeighboringCellInfo
- getNetworkTypeForSubscriber
- getPcscfAddress
- getRadioAccessFamily
- getVoiceNetworkTypeForSubscriber
- isIdle
- isIdleForSubscriber
- isOffhook
- isOffhookForSubscriber
- isRadioOn
- isRadioOnForSubscriber
- isRinging
- isRingingForSubscriber
- isSimPinEnabled
- isVideoCallingEnabled
- listen
- listenForSubscriber
- listenWithEventList

拦截与转发流程 ​

设备与基站两类查询分别落到 VDeviceManagerService 与 VirtualLocationService,目标 App 拿到的全是伪造值。

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