工程中常有这样的事,想分析下其他知名公司产品中的通信协议,以便生产设计兼容产品。
1) 逆向工程,首先要了解产品,知己知彼,百战不怠;
去年受命想仿一款GARMIN的导航盒,但无法拿到其与主机的通信协议,只好做下逆向分析协议的尝试,该款机器与主机通信采用串口,交互数据主要是触摸坐标、心跳响应、视频切换、语音播报等。可以借助的工具无外乎双踪示波器、逻辑分析仪等。
2) 从基础入手:
先用示波器确认了产品的通信速率,采集分析方法参见下图:(当时手机拍摄的)
3) 获取通信速率后,还需要截取数据,分析内容;
可以用逻辑分析仪来采集,将采集率降低,提取内容;
或在TX、RX上分别引线,接至电脑,接成两路RX,并设计双路监测串口的工具;
个人采用的第二种办法,可以自己随意改,提取时间间隔、分包机制较轻松;
4) 尝试模拟通信,用PC模拟一款设备,当然,大部分功能是没有的,空壳罢了;
5) 制作设备,与主机匹配,全功能测试;
附,逆向工程都有一些运气成分,有时很快,有时较慢;作者从事的此次内容,仅是产品的仿制,属于山寨;
然网上流行的**或盗版固件,也属于逆向工程的一种。
文章评论(0条评论)
登录后参与讨论