V2EX 10月13日 13:18
车企APP资源分析与Home Assistant集成
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

一名技术爱好者深入分析某车企的安卓APP,发现其近300MB的资源文件主要为非核心内容。通过抓包分析,该用户实现了多项功能,包括查看车辆及充电桩的非实时状态,并解决了Token的自动更新与续期问题。对于实时远程控制,由于其基于MQTT的TLSv1.2双向证书加密,该用户通过解包APP分析通信协议,并成功将其集成至Home Assistant,实现了比官方APP更便捷的车辆控制方式,如通过桌面小组件开关锁。

🚗 **APP资源与功能分析**:该车企APP体积庞大,近300MB的资源文件被指认为“垃圾”,影响了APP的臃肿。然而,通过技术手段,用户成功解析出并实现了包括查看车辆/充电桩非实时状态、远程控制车辆(如开关锁、车窗)等功能。

🔒 **状态与控制的Token机制**:非实时状态的拉取仅需Token验证,但Token的续期是关键,不同车企的安全限制不同。实时远程控制则涉及更复杂的TLSv1.2双向证书加密,尤其当通信基于MQTT时,需要解包APP深入分析。

🏠 **Home Assistant集成与优化**:最终,用户将解析出的功能整合成Home Assistant插件,提供比官方APP更便捷的操作,如通过仪表盘或桌面小组件实现车辆的开关锁控制,提升了用户体验。

具体哪一家车企就不说了,防止有点刑

车企也是神人程序员,我这个接近 400m 的安卓 APP 里面,解包分析出来,有接近 300m 的资源文件(我是说怎么 APP 这么大一点不卡呢,app 全拿来塞垃圾了原来是)

目前已经完成包括但不限于如下功能

其中非实时状态拉取只有 token 验证,不校验证书,比较简单,唯一问题就是 token 的续期问题,不同车企对于这一块的安全时间限制不一样,需要自己验证,这一块基本 reqable 电脑端,然后在手机配置代理就可以抓包分析了。

但是实时的远程控制车辆需要通过 TLSv1.2 的双向证书加密,我这家是基于 MQTT 的,MQTT 加密的就没法通过 reqable 抓取了,小黄鸟只能 http(s),可以通过 wireshark 的方式,分析具体用的是什么通信,(或者直接解包 APP ,我是发现加密 MQTT 之后解包 APP 分析通信的),证书的话可以在 ROOT 之后自己想办法(只可意会)

目前把他做成了 homeassistant 的插件的方式,添加到仪表盘之后,效果如下

没有做更好看的那个卡片(有点太麻烦了),在 HA 里面可以开关锁/或者桌面小组件,比官方 APP 好

https://imgur.com/a/0SPv4Zr

有整过的老哥可以分享交流一下:) 我也是第一次整这一块,废了点功夫

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

车企APP 安卓逆向 抓包分析 MQTT TLS加密 Home Assistant 智能家居 Remote Control App Analysis Reverse Engineering Network Traffic IoT Integration
相关文章