Skip to content

wifi_scanner · WiFi 扫描代理 ​

拦截 WifiScanner(WiFi 扫描服务,用于定位)。共 2 个文件。

文件组成 ​

文件职责
WifiScannerStub.java主代理,用 GhostWifiScannerImpl 直接替换 sCache["wifiscanner"]——整服务被接管而非方法拦截
GhostWifiScannerImpl.java"幽灵" IWifiScanner.Stub 实现,提供空的扫描结果源

接管机制 ​

不同于普通代理(拦方法、改参数后放行),WifiScannerStub 把整个 IWifiScanner 替换为 GhostWifiScannerImpl。getMessenger 返回一个空 Handler 的 Messenger,getAvailableChannels 返回空列表——App 拿不到真实扫描结果,使基于 WiFi 扫描的定位失效或落到伪造坐标。

与虚拟定位的关系 ​

WiFi 扫描结果常被用于基于 AP MAC 的定位反查。GhostWifiScannerImpl 配合 虚拟定位 返回伪造的扫描结果,使基于 WiFi 的定位也落在伪造坐标。

拦截与转发流程 ​

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