我们在第三步bulk 通讯完成鉴权成功(AuthenticationSucceeded)的情况下,进行第四步操作:上层APP,通过NCM,实现相关网络协议通道。
一)NCM通讯,前提是在驱动层打开USB NCM功能,实现方法,详情查看“carplay逆向第二步:激活USB的NCM功能”
二)建立苹果bonjour服务。
苹果bonjour服务,是用于网络内部相互发现的对方IP地址的DNS服务,这里用bonjour服务是用于carplay接收端和carplay发射端相互发现。
如何启动bonjour服务?
苹果bonjour代码编译后会生成两个可执行文件: mdnsd,dns-sd.
1)运行 mdnsd&,即可启动bonjour服务。
2)dns-sd 是一个测试程序,用于测试bonjour 服务是否正常运行。
实际操作,可以先在ubuntu两台电脑编译运行mdnsd服务,再用dns-sd来相互发现对方。
三)NCM通讯
1)carplay发射端,使用bonjour协议发现carplay接收端 IP。
2)carplay发送配对协议:Pair Verify Request;carplay接收端回复Pair Verify Response
3)carplay发送配对协议:Auth Setup Request;carplay接收端回复Auth Setup Response
4)carplay发送端配对协议:Info Request;carplay接收端回复Info Response
注意:carplay接收端回复Info Response中,包括绝大部分需要信息,例如:车载设置视频分辨率,音频波特率等。
至此,carplay发送端和接收端握手协议完成,后续讲如何传送视频数据。
carplay逆向第四步操作:上层APP,通过NCM,实现相关网络协议
于 2023-01-29 16:04:28 首次发布