[Android Head-Units] fwpasx:
I did a bit of an analysis of the traffic sent from the head unit. If you have "com.ts.car.client" app installed I suggest to uninstall it. It has an open MQTT server that anyone can see the data of, it sends your current location, open apps, other headunit information. I have included example of the data below with blanked out information (not mine). There is a lot of data being sent every second of different devices. While looking at the code I also saw remote connections might be possible, but haven't gone that far yet.

{
"HMI": "BMW.D.Q.F.3.01.2021.02.02.13.30",
"appVersionCode": 11,
"appVersionName": "1.0.10",
"branch": "8227L_8\u5b9d\u9a6cUI01-\u56fd\u591610_v15_20210202",
"cameraType": 0,
"canType": 274,
"deviceType": "8227L",
"language": "ES/espa\u00f1ol (Espa\u00f1a)",
"netType": 1,
"radioType": 5,
"ramSize": 2045046784,
"resolution": "1024x600",
"romSize": 29489504256,
"sdkVersion": 27,
"timezone": "Europe/Athens",
"msgHdr": {
"deviceID": "***",
"isAck": false,
"msgID": "BOOT_DATA_REPORT",
"needAck": false,
"protVer": 11,
"respTopicID": 70,
"srvType": "DATA_COLLECT",
"timestamp": ***,
"transID": **
}
}

{
"otherDataList": [
{
"otherData": [
{
"ILL": 0,
"breakState": 0,
"reverseState": 1,
"timestamp": ***,
"topPackageName": "com.google.android.youtube/com.google.android.apps.youtube.app.watchwhile.MainActivity",
"workmode": 0
},
{
"ILL": 0,
"breakState": 0,
"reverseState": 0,
"timestamp": ***,
"topPackageName": "com.google.android.youtube/com.google.android.apps.youtube.app.watchwhile.MainActivity",
"workmode": 0
}
],
"otherDataId": 10000
}
],
"msgHdr": {
"deviceID": "***",
"isAck": false,
"msgID": "OTHER_DATA_REPORT",
"needAck": false,
"protVer": 9,
"respTopicID": 15,
"srvType": "DATA_COLLECT",
"timestamp": ***,
"transID": **
}
}

{
"carDataList": [
{
"carData": [
{
"latitude": ***,
"longitude": *****,
"speed": 0.0,
"timestamp": ***
}
],
"carDataId": 10000
}
],
"deviceType": "8667",
"msgHdr": {
"deviceID": "********",
"isAck": false,
"msgID": "CAR_DATA_REPORT",
"needAck": false,
"protVer": 25,
"respTopicID": 4,
"srvType": "DATA_COLLECT",
"timestamp": ****,
"transID": ***
}
}

{
"FromPoiAddr": "\u5728G1523\u752c\u839e\u9ad8\u901f\u9644\u8fd1",
"FromPoiLatitude": "**",
"FromPoiLongitude": "**",
"FromPoiName": "\u745e\u5b89\u5e02G1523\u752c\u839e\u9ad8\u901f",
"ToPoiAddr": "\u4e1c\u8fce\u5bbe\u5927\u905322\u53f7",
"ToPoiLatitude": "***",
"ToPoiLongitude": "***",
"ToPoiName": "\u78a7\u6842\u56ed\u00b7\u51e4\u9e23\u96c5\u82d1",
"path_info": [
{
"distance_AUTO": "126\u516c\u91cc",
"method": "\u591c\u95f4\u5bbd\u655e\u5927\u8def",
"streetNames": [
"\u6211\u7684\u4f4d\u7f6e",
"G1523\u752c\u839e\u9ad8\u901f",
"G15\u6c88\u6d77\u9ad8\u901f",
"\u6e56\u96fe\u5cad\u96a7\u9053",
"S39\u6e29\u5cad\u8054\u7edc\u7ebf",
"\u8def\u6cfd\u592a\u9ad8\u67b6\u5feb\u901f\u8def",
"\u8def\u6cfd\u592a\u4e00\u7ea7\u516c\u8def",
"\u65b9\u6797\u8def",
"\u78a7\u6842\u56ed\u00b7\u51e4\u9e23\u96c5\u82d1"
],
"time_AUTO": "1\u65f624\u5206"
},
{
"distance_AUTO": "120\u516c\u91cc",
"method": "\u8ddd\u79bb\u77ed",
"streetNames": [
"\u6211\u7684\u4f4d\u7f6e",
"G1523\u752c\u839e\u9ad8\u901f",
"G15\u6c88\u6d77\u9ad8\u901f",
"\u6e56\u96fe\u5cad\u96a7\u9053",
"G15\u6c88\u6d77\u9ad8\u901f",
"\u8def\u9662\u4e00\u7ea7\u516c\u8def",
"\u8fce\u5bbe\u5927\u9053(\u897f)",
"\u65b9\u6797\u8def",
"\u78a7\u6842\u56ed\u00b7\u51e4\u9e23\u96c5\u82d1"
],
"time_AUTO": "1\u65f633\u5206"
},
{
"distance_AUTO": "136\u516c\u91cc",
"method": "\u5907\u9009\u4e09",
"streetNames": [
"\u6211\u7684\u4f4d\u7f6e",
"G1523\u752c\u839e\u9ad8\u901f",
"G15\u6c88\u6d77\u9ad8\u901f",
"G1523\u752c\u839e\u9ad8\u901f",
"\u9f99\u6eaa\u9ad8\u67b6\u6865",
"\u5bc6\u6eaa\u96a7\u9053",
"G1523\u752c\u839e\u9ad8\u901f",
"226\u7701\u9053",
"\u4e1c\u73af\u8def",
"\u8def\u6cfd\u592a\u4e00\u7ea7\u516c\u8def",
"\u8def\u6cfd\u592a\u9ad8\u67b6\u5feb\u901f\u8def",
"\u8def\u6cfd\u592a\u4e00\u7ea7\u516c\u8def",
"\u65b9\u6797\u8def",
"\u78a7\u6842\u56ed\u00b7\u51e4\u9e23\u96c5\u82d1"
],
"time_AUTO": "1\u65f632\u5206"
}
],
"msgHdr": {
"deviceID": "***",
"isAck": false,
"msgID": "ROAD_INFOS_REPORT",
"needAck": false,
"protVer": 22,
"respTopicID": 20,
"srvType": "DATA_COLLECT",
"timestamp": ***,
"transID": ****
}
}