来源:科技强检(ID:techjc)
前言
曾几何时,手机是诺基亚、摩托罗拉、三星、西门子和飞利浦等几大厂家的时代。但是随着联发科、展讯等廉价CPU和完整方案的推出,中国内地迅速涌现出几十家、最后达到数百家的手机生产厂商。这些手机功能强大、形态各异,在手机的普及之路上,居功至伟。同时,各厂家为防止恶性竞争,在通讯内核和硬件设计上,也存在着较大差异,这就为电子取证增加了困难。
国产功能机的通讯模式
现在的安卓机,尾插基本上都是统一的5针迷你USB插头,数据通讯协议也都是基于几个限定的框架之内。但是国产功能机的情况却复杂得多。首先从CPU的厂家来说,大的就有联发科、展讯、mStar、互芯、安凯等,早期的飞利浦、AD、TI、SKY、英飞凌也占有一席之地。这些CPU,多数是以串口通讯协议为基础,后期也有采用USB通讯协议的。其次,各种手机的尾插也千差万别,单排触点、双排触点,8针、10针,直至30多针,都有。况且,就算是尾插一致的手机,尾插中各个触点的定义也不尽相同,充电、通讯、键盘灯个点的分部,十分随意,没有统一的标准可言。
解决方案
设计思路:首先统计搜集常用的尾插类型,限定在30种以内,覆盖机型超过80%;其次,根据已经掌握的通讯方案,通过对尾插各管脚进行穷举扫描的方法,侦测出通讯定义管脚和相应的通讯协议。
根据以上思路,以联发科芯片组的串口通讯协议手机为例,来说明定义侦测的实现过程。
串口通讯协议的概念非常简单,就是只串口按位(bit)发送和接收字节。尽管这种方式比按字节(byte)的并行通信速度慢,但是可以在使用一根线发送数据的同时用另一根线接收数据,这在速度要求不高但是空间有限的应用场合来说,十分合适。串口通讯中关键的技术点包括波特率,以及发送端(TX)和接收端(RX)。波特率是一个衡量通信速度的参数,它表示每秒钟传送的bit的个数,例如波特表示每秒钟发送个bit。
对于联发科芯片组的串口通讯协议手机来说,在手机开机的前几秒钟内,按着开机键不放手,CPU如果能接收到来自RX端口的波特率是的数据A0,就从TX上发送出5F,来表明自己已经收到信号,同时将状态切换到调试模式,手机便不再正常开机了,这时候就可以读取镜像数据了。
上图是侦测过程的示意图,供电开机之初,RX和TX都是高电平,当RX上接收到一个低电平s后,表名有数据到来,之后收到的便是数据A0,CPU采集到这个数据后,通过TX送出一个低电平s,表示准备向外发送数据,随后发出的便是数据5F。这里的s是叫做起始位,表名开始传送数据,之后先发数据低位后发数据高位。
这是一款蓝极星H手机,尾插为12针单排接口,按照波特率,从1到12针,轮发数据A0,观察其他针的状态变化,最终发现:向1至11脚发送数据时候,其他管脚均无响应,当向12脚发送数据的时候,11脚上出现了电平变化,分析后可知,与数据传输波形相符,正是5F。由此可知,该手机的RX为12,TX为11。侦测成功!
硬件实现:计算机发出数据到U转串芯片的输出脚,通过FPGA,将数据依次传输到手机接口端的各个管脚上,并通过FPGA检测个管脚的电平变化,分析后将数据通过U转串芯片上传至计算机。
软件实现:选择好相应的连线,然后点,根据前述原理,通过数据控制,实现一键侦测。
以上所说的侦测软件实则是睿海RH-手机数据取证分析仪中的做国产山寨机的模块,只需一键即可完成操作。
睿海RH-是一套可应用于国产山寨手机、品牌功能手机、新型智能手机等全品牌、各种操作系统的手机数据综合提取分析设备。产品不仅支持对状态完好手机的数据提取,更支持对破损、浸泡、腐蚀手机的数据提取。
同时系统自带快速解除手机锁等实用功能,具备良好的可靠性和可扩展性,并支持后续灵活升级。是一款集成了开机提取、JTAG提取、ISP提取,底层芯片级提取等多种手段的、可全面应对各种复杂需求的综合型手机数据提取分析系统。
白癜风在哪家医院治疗最好北京看白癜风哪家医院最专业