使用AI对天猫精灵IoT模块进行逆向分析(三)
在完成前面两篇文章的任务后,我又想起家里还有一个天猫精灵的智能插座。所以打算继续折腾。
通过印丝可以确定是BroadLink BL3335-P芯片,通过AI也能很容易搜到芯片手册。默认波特率为926100,但是串口数据很奇怪,一堆乱码中夹杂着个别明文。我不清楚原因,但是感觉波特率应该没问题,经过AI分析,发现是BroadLink 出厂固件的 UART0 调试输出经过了保护/混淆,将 GPIO21 拉高,才能“解混淆”调试输出。而这个引脚在BL3335-P上没有被引出,需要拆屏蔽罩后才有办法飞线,过于麻烦。
然后我选择dump flash,因为下载模式是正常的,不会被混淆。但是这个设备的工具只有windows版本的,比较麻烦。
有了flash后,让AI开始分析:



固件的重要信息,AI基本都能逆向出来。但是在逆向出来后,我发现了一我不知道的盲点。我以为这个智能插座是天猫精灵的,并且连接天猫精灵非常麻烦,必须要有音箱才能连接。
经过这次分析我才知道,BroadLink就是插座的厂商,对于天猫精灵来说,这个插座属于第三方设备。并且BroadLink的开发程度很高,在BroadLink APP的设备功能界面进行解锁,就能使用他们的协议在局域网进行控制。如果之前就掌握这个信息,压根不需要插件dump 固件。
不过我最终还是让AI帮我编写了一个局域网控制脚本,嵌入到HA当前,加入我的米家大家庭。
使用AI对天猫精灵IoT模块进行逆向分析(三)

