前几年的某个时间点,大概是在Windows的某次更新后,或者iTunes上架Microsoft Store那段时间,Frida无法通过USB访问iOS设备,而iTunes、libimobiledevice、PP助手等则不受影响。之前尝试了各种组合,包括使用Microsoft Store和独立安装的iTunes,均未能解决。简单看了一下代码,没有发现处理不当的地方。只好在遇到iOS任务时更换MacBook Pro或者Ubuntu。在Frida的Issues也有相关的讨论,参考这里和这里。
今天在处理某个任务的时候,无意中发现一台Windows 10 LTSC上,Frida能够正常通过USB连接iOS设备,iTunes是独立安装包。简单分析和尝试后,以下方法可解决无法找到设备的问题:
- 如果从Microsoft Store中安装了iTunes,卸载之;
- 连接iOS设备,从设备管理器中删除设备,并勾选删除驱动;
- 下载iTunes安装包;
- 拔掉iOS设备,重启,断网安装iTunes;
- 启动iTunes,插上iOS设备,运行Frida进行测试。
上述方法在两台Windows 10 Pro上测试通过。
原因可能是初次插入设备,Windows 10会安装一个iOS的驱动,而这个驱动可能有Bug或者功能不完善,但能满足大多数基本的需求。因此,卸载干净再安装完整的驱动,Frida恢复正常。