0%

CS35Plus 飞思卡尔车机破解记录

这篇文章以描述过程为主,且针对的车机是和我一样的 酷联或智联 带车联网的车机。在最后总结处有提炼的精华,有需要的可以先行阅读理清步骤,便于理解我的笔记。

最近车友群里有消息说 CS35Plus 使用飞思卡尔平台的车机被破解了,打破了我对车机的佛系态度。

这个车机买来我也是经过一番折腾的,什么 USB 主机模式、反编译隐藏指令、WIFI ADB 等都试过,完全不按套路出牌,更可恶的是系统内确实预留了隐藏指令的,看反编译出来的功能描述也是用来打开 USB 主机模式的,但无耻的就是开不了。

这不求证了一下这条消息的真实性,发现真的能搞,和对方简单沟通了一下方案,说是用的飞思卡尔的工程线实现的,大概是先破解 Recovery 的签名验证,然后通过,甚至可以做到救砖,牛逼。

不过这个方案需要拆主机邮寄给他搞,因为他才有那条工程线并且那工程线不便宜,内心是拒绝的,我就是想白嫖啊喂,并且拆主机很麻烦而且会伤内饰啊!经过一周的思想斗争,这个周末觉得管他三七二十一管他怎么样,先拆下来在说。

其实周五下班之后我就去试着拆了一下了,TMD 不是一般的难拆,内饰已经留下不少“强X的痕迹”,周六收到破解群的思想轰炸影响,又去干了一番。。。

最终,拆下来了,而且还有惊喜~!

拆卸主机

对于怎么拆主机还是做了些功课的,这款车主机藏在空调面板后面,只要把空调面板拆下来就能方便的取出主机了。空调面板是卡扣设计的,只要给面板施加一个从里向外的力,就能把它顶出来。

在尽量小范围拆卸的前提下有两种方案,一个是从里往外顶,这种办法据说不会伤内饰但空间狭小难度很大;还有一种方案就是大力出奇迹,直接从外面撬。

为了不把内饰搞烂了,所以先是尝试从里往外,于是我拆下手套箱,发现我的车有个“网关模块”挡住了手伸网空调面板的去路,于是拆网关,但只能拆上面一个螺丝,下面的螺丝挡住了,那就拆掉上面的螺丝把它掰一下让出些空间,接下来手能够艰难的伸过去了,但基本就只能塞下一只手,经过一番有一番试验,根本无法发力将面板顶出来,只能放弃(不知道说这个方案可行的老哥有没有试过,我觉得不太可能,根本没法发力)。

又经过短暂的思想斗争,遂决定那就翘吧,大不了我小心点。。。方法很简单,找个小一点的平口起子,从空调面板两侧强行插入,然后就撬。刚开始胆小,只敢插入一点点,结果左边被搞花了一点点,经过一番折腾始终没什么效果。突然也不知道哪里来的鸡血打进了大脑,先是找了块手帕,对叠一下盖住起子,真的就大力出奇迹,起子批头插进去了半截,然后一点点往外使劲,终于给干下来半边。有了左边的经验,右边就简单多了,没过一会就撬出来了。

空调面板拿出来之后,就能看到主机了,一左一右两个螺丝固定着,可以用十字起子,也可以用φ8的套筒,我使用的套筒,三下五除二就拿出来了。

这里友情提示一下,注意使用带磁性的工具,不然得小心螺丝掉下去。当然实在不下心掉下去了,可以强行掰掉副驾驶那块小的塑料挡板,还可以把螺丝摸出来(这都是经验的我艹!)。

讲道理,这真TM难,比破解软件难多了!分享一些过程图片:

从手套箱看空调面板视角: IMG_20211118_190333.jpg

拆下空调面板: IMG_20211120_131945.jpg IMG_20211120_131920.jpg

副驾驶捡螺丝: IMG_20211120_132016.jpg

主机接线示意图: IMG_20211120_132437.jpg IMG_20211120_132442.jpg IMG_20211120_132724.jpg IMG_20211120_132444.jpg

破解主机

分析

本来呢我拆下来是准备寄出去给大佬帮忙破解的,但是拆下来之后呢,我也想先拿着折腾一下,因为我向大佬求证过,这个主机是包含 TTL 接口的,但贴吧有人说接上后乱码。我不信邪,为什么呢?没有为什么,不信就是不信。

于是我先拿回家,拆开外壳,首先找到 TTL 接口的位置,然后我惊奇的发现,我的主机竟然自带 TTL 的接口座子(就是下面图中白色的那个),于是乎我拿出我的家伙些做了一根 XH2.54 的 4PIN TTL 线缆,顺便把我的 USB 转 TTL 的模块翻了出来。OK,通讯这部分就准备好了。

然后开始研究电源部分,首先从外壳的参数可以知道这个主机使用 DC 12V 供电,并且可以知道 端子A 中 GND 就是输入电源负极,BAT 就是输入电源正极。接口的话我一个爱好者确实没得这样的接口,买也不好买,那就随便找点现有的材料搞搞,能用就行。

据网上描述,有的设备如车载逆变器之类的有些会检测车辆锁的状态,原理就是有外接的 ACC 信号输入,我看我这个主机他也有一个 ACC_IN 输入,网上传闻有些车机是外接的 12V 电压给这个 ACC_IN 脚,就是 ACC 的信号,我将信将疑,我觉得直接给 12V 未必太猛了一点,毕竟他只是需要一个信号,所以决定暂时不接 ACC,先试试主机状态。

接下来连接 TTL 信号到电脑,上电,哈哈轻松点亮,看来不需要 ACC_IN 也可以。并且!我这使用 TTL 他真就没有乱码!终端能够正常输出和响应命名!一切都是那么行云流水!

对于贴吧帖子 拆车机破解 中描述这个主机会乱码的情况,我表示不能理解,或许他的主机和我的型号有差异,或是别的什么原因,至少在我这是可以正常运行的。
同时我还使用了下面这些不同的模块做了实验,都是可以正常工作的。
- CH341 主控USB转TTL模块
IMG_20211120_160055.jpg
- PL2303 主控USB转TTL模块
IMG_20211120_160327.jpg
- CP210X 主控多功能6合1模块
IMG_20211120_160504.jpg
这就是TMD惊喜啊有木有!但是有一点高兴的太早,事实证明不接 ACC 的情况下,车机大约 10 分钟左右就会关机(终端有输出提示),经过试验发现这时只要上拉一下 ACC_IN 就又会开机了。 为了保险起见没有直接短接 BAT 和 ACC_IN,而是给 ACC_IN 输入了一个 5V 的电压,实测就能触发开机。后面我测得开机状态的 ACC_IN 和 BAT 的电阻值为 0Ω,但电压却有约 10V,似乎证明不能直接短接 BAT 和 ACC_IN。另外长期拉高 ACC_IN 就相当于车辆电源长期打开状态。
后记:有时候会出现拉高 ACC_IN 时系统卡死,原因找不到,我都是卡死了就直接断电重启了。

超时关机时输出如下:

root@android:/ # 
[  601.255749] SysRq : key=117[  601.258580] CPU: 1 PID: 1 Comm: init Tainted: G           O 3. 10.53 #1
[  601.265142] [<c0013d48>] (unwind_backtrace+0x0/0xf8) from [<c0011864>] (show_stack+0x10/0x14)
[  601.273693] [<c0011864>] (show_stack+0x10/0x14) from [<c02b70c8>] (__handle_sysrq+0x38/0x17c)
[  601.282239] [<c02b70c8>] (__handle_sysrq+0x38/0x17c) from [<c02b7244>] (write_sysrq_trigger  +0x38/0x48)
[  601.291568] [<c02b7244>] (write_sysrq_trigger+0x38/0x48) from [<c012c91c>] (proc_reg_write   +0x58/0x80)
[  601.300811] [<c012c91c>] (proc_reg_write+0x58/0x80) from [<c00de428>] (vfs_write+0xbc/0x184)
[  601.309267] [<c00de428>] (vfs_write+0xbc/0x184) from [<c00de7c0>] (SyS_write+0x40/0x68)
[  601.317291] [<c00de7c0>] (SyS_write+0x40/0x68) from [<c000e040>] (ret_fast_syscall+0x0/0x30)
[  601.325738] Emergency Remount R/O
[  601.370398] Power down.

好了,经过一番摸索确认了可以直接使用自带的带 root 权限的 TTL 终端,接下来就要研究一下如何通过 TTL 破解它了!

行动

有了前面的成果,接下来就可以聊聊我的需求了。其实呢我的需求也简单,毕竟这个车机性能就那么一点点,所以我想要的就是能够安装进去公版的高德地图就完事了,可以的话呢在装一个音乐播放器。

结合目前的情况分析啊,因为车机系统UI操作界面根本不支持安装三方软件的方法(这不是拆主机的原因么。。。),所以只能只用别的方式,正巧现在我们有了 TTL 的终端,验证了一下可以使用 pm 包管理器进行安装,或者直接放到 /system/app/ 就行了。那么问题就在于 apk 从哪里来了。

首先我想到的是通过互联网下载这些 apk,加上我本来也有一些服务器,于是果断先从这个方向下手。

我试了一下发现系统虽然没有自带 wget curl vi 这些命令,但是却自带一个 busybox,于是使用 busbox wget 尝试下载 apk 包,但我使用的地址是基于 https 协议的,似乎不支持。那就先放一放,换一个方式再试试。

还有一种办法,挂载U盘,但因为这主机只有专用的 USB接口,有U盘也接不上,买转接头那是不可能的!再想其他的办法!

上面两个方法都试想办法得到 apk, 换个思路,能不能有什么办法主动向主机传 apk 呢,当然有,那就是 Android 的 adb,我是做 Android 开发的,要是能把 adb 打通,可玩性就更大了,这也是为啥我没有深挖上面两种方案的原因,我还是想先试试能不能把 adb 搞出来。

回到 Android 上面来,研究一下如何处理 adbd 吧,经过实地考察发现其实 adbd 系统是开着的,不过是绑定到 usb 接口的,但是 USB HOST 接口我不知道是哪一个,就没法使用 USB 线连接。那就通过网络来连接吧,遗憾的是默认 adbd 监听的网络是 127.0.0.1:5037,不能远程连接上来。

既然如此,就接下来尝试把 adbd 监听的地址给处理一下。

查了资料和实际测试,通过 setprop service.adb.tcp.port 5555 的方式可以做到使 adbd 监听于 0.0.0.0:5555,但重启就失效了,为了今后便于连接,就给他配置成开机启动吧。

方法呢简单,通过给 /system/build.prop 写入 service.adb.tcp.port=5555 的配置就可以了,默认情况下 /system 是以只读方式挂载的,那先改一下挂载形式:

mount -o remount,rw /system

完成之后就能通过 busybox vi /system/build.prop 编辑了,往最后添加 service.adb.tcp.port=5555 并保存,重启试试,果然自动监听上 0.0.0.0:5555 了。

修改后的 build.prop 文件:

root@android:/ # cat /system/build.prop                                        
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=S1.11.YTCA.XXXX
ro.build.display.id=OS_S111-3.0_TX_V1.05-200331
ro.build.assembly.id=SW:B.3.4
ro.build.version.incremental=20160708
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.3
ro.build.date=Tue Mar 31 17:20:01 CST 2020
ro.build.date.utc=1585646401
ro.build.type=eng
ro.build.user=zhangdan
ro.build.host=ubuntu
ro.build.tags=dev-keys
ro.product.model=SABREAUTO-MX6Q
ro.product.brand=Freescale
ro.product.name=chinatsp_s111_6d
ro.product.device=chinatsp_s111_6d
ro.product.board=SABREAUTO
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Freescale
ro.product.locale.language=zh
ro.product.locale.region=CN
ro.wifi.channels=
ro.board.platform=imx6
# ro.build.product is obsolete; use ro.product.device
ro.build.product=chinatsp_s111_6d
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=chinatsp_s111_6d-eng 4.4.3 S1.11.YTCA.XXXX 20160708 dev-keys
ro.build.fingerprint=Freescale/chinatsp_s111_6d/chinatsp_s111_6d:4.4.3/S1.11.YTCA.XXXX/20160708:eng/dev-keys
ro.build.characteristics=tablet
persist.sys.language=zh
persist.sys.country=CN
persist.sys.timezone=Asia/Shanghai
# end build properties

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.carrier=unknown
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=384m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=512k
dalvik.vm.heapmaxfree=8m
wifi.interface=wlan0
softap.interface=wlan0
wifi.ap.interface=wlan0
persist.sys.dalvik.vm.lib=libdvm.so
ro.kernel.android.checkjni=1
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

service.adb.tcp.port=5555

重启后配置生效时的监听状态,可以看到顺利的监听了 0.0.0.0:5555:

root@android:/ # netstat -tpln
Proto Recv-Q Send-Q Local Address          Foreign Address        State
 tcp       0      0 127.0.0.1:5037         0.0.0.0:*              LISTEN
 tcp       0      0 0.0.0.0:5555           0.0.0.0:*              LISTEN
 tcp       0      0 127.0.0.1:53           0.0.0.0:*              LISTEN
 tcp       0      0 192.168.43.1:53        0.0.0.0:*              LISTEN
 tcp       0      0 10.0.0.2:37023         61.241.49.23:8080      CLOSE_WAIT
 tcp       0      0 10.0.0.2:37024         61.241.49.23:8080      CLOSE_WAIT
 tcp       0      0 10.0.0.2:37025         61.241.49.23:8080      CLOSE_WAIT
 tcp       0      0 10.0.0.2:33167         203.119.144.55:443     ESTABLISHED
 udp       0      0 127.0.0.1:53           0.0.0.0:*              CLOSE
 udp       0      0 192.168.43.1:53        0.0.0.0:*              CLOSE
 udp       0      0 0.0.0.0:67             0.0.0.0:*              CLOSE
tcp6       0      0 :::5656                :::*                   LISTEN

操作完了,还原 /system 的只读挂载:

mount -o remount,ro /system

操作挂载的时候需要注意:

  • 不要轻易修改挂载磁盘,操作失误会变砖!上面的两条挂载命令都是比较安全的命令,不涉及修改硬盘挂载点。
  • 查看挂载点分区可以使用 busybox df -h,自带的 df 命令看不到:
    root@android:/ # busybox df -h                                                 
    Filesystem                Size      Used Available Use% Mounted on
    tmpfs                  1008.2M    132.0K   1008.1M   0% /dev
    none                   1008.2M     12.0K   1008.2M   0% /sys/fs/cgroup
    tmpfs                  1008.2M         0   1008.2M   0% /mnt/secure
    tmpfs                  1008.2M         0   1008.2M   0% /mnt/asec
    tmpfs                  1008.2M         0   1008.2M   0% /mnt/obb
    tmpfs                     1.0M         0      1.0M   0% /mnt/shm
    tmpfs                     5.0M     40.0K      5.0M   1% /bt
    tmpfs                    10.0M     80.0K      9.9M   1% /mediascan
    /dev/block/mmcblk2p5    774.9M    746.8M     12.1M  98% /system
    /dev/block/mmcblk2p4      5.8G      1.0G      4.7G  18% /data
    /dev/block/mmcblk2p6    991.9M    509.8M    466.1M  52% /cache
    /dev/block/mmcblk2p7      6.7M     45.0K      6.1M   1% /device
    /dev/block/mmcblk2p10   975.9M    509.7M    399.0M  56% /backconf
    /dev/block/mmcblk2p11   487.9M    396.0K    451.7M   0% /vrsrc
    /dev/block/mmcblk2p12    19.3G      4.4G     15.0G  23% /navi
    /dev/fuse                19.3G      4.4G     15.0G  23% /mnt/shell/emulated
    

现在 adbd 已经处理好了,主机没有网线,只能通过连接 WIFI 和电脑处于同一局域网,进而使用 adb 连接。

期间经过了许久的思考和试验...

经过一段时间的摸索和试验,由于这个车机可以支持连接 WIFI 和作为 AP 使用,并且操作时没有屏幕和触控板只有 TTL 终端命令行,始终无法通过命令行的方式控制车机 WIFI。过程中我发现 AP 热点始终是开着的,但密码我忘了是啥了(实际上我把我知道的密码都试了几遍,死活连不上),于是退一步,拿到车上连接显示屏和触控板,得到了 AP 热点的密码,成功的连接上了。

这个过程我发现,这个密码应该是初始默认密码,因为不论你怎么改,他似乎都会变成原来的样子。

那么既然连得上车机 AP 了,就可以验证一下上面开放出来的 adbd 服务是不是可以用了。经过试验,果然不失所望,可以正常使用。

那现在,我们已经有了 TTL 终端和 adb 调试桥两种通道可以连接上主机了,并且都是带 root 权限的,心里想着应该可以轻松的完成装软件这个需求了吧。那不妨来干点更高级的,通过 adb 远程控制怎么样?搞!

Android 业内有一个很牛逼的控制软件叫 Scrcpy,它可以通过 adb 调试桥连接上 Android 设备,同步输出显示画面和输入鼠标键盘事件。正当我高兴的时候,这破机器给我当头一棒,我搞了半天,发现死活连不上,后面才恍然大悟,这破机器运行的是老掉牙的 Android 4.4 系统,Scrcpy 最低支持 Android 5.1。那 Scrcpy 是没法用了,但我确实想知道主机现在是个什么情况。怎么办呢,用笨办法呗:

简单来说就是通过 adb 控制主机截屏,然后使用 adb 把截图拷贝到电脑,通过观察截图来感知主机处于一个什么状态,同时使用 adb shell input 命令模拟点击和滑动,来对主机进行简单的控制。

鬼知道我用这种办法干了多少事,试了多少个软件。。。说多了都是泪!

经过一段时间把玩,大概是摸熟了这个车机的一些门道。该回到正轨了,装软件。

作为技术宅,首当其中装的软件不是地图,也不是播放器,而是文件管理器 ESExplorer,当时我想的是有了它加 root 权限支持,这系统还有啥事我搞不定?事实有证明,牛逼吹大了容易扯着蛋。

又折腾了很久,上面的两个点装软件和 root 权限是一个也没搞定,首先呢,这个系统的 PackageManage 也就是 pm 命令,也包括系统的软件安装器,他肯定是被动过手脚的,无论如何你是无法通过它正常安装软件的。还有就是 root,虽然 TTL 和 adb 都直接拥有 root 权限,但想把它授予给某个软件目前看不深入搞是不可能的。

所以,得另寻他法,但可以肯定的是,软件肯定能装进去的,因为上面提到的大佬的客户,已经在装各种软件愉快玩耍了。

行吧,既然正常安装搞不定,root 软件也得不到,那只能暴力处理了。所谓暴力处理,就是直接将 apk 复制到 /system/app/ 或 /data/app/ 这两个目录,这两个目录分别对应系统软件和用户软件,前者不可被卸载,而后者可以。

因为我们有拥有 root 权限的 TTL 和 adb, 所以复制 apk 是完全没得问题的。同时因为获得了 adb 权限,我也可以通过 adb push 命令将 apk 给传到主机当中去,就解决了上面 apk 从哪里来的问题。

接下来的操作就顺理成章了,比如我这把 ES文件管理器装到系统目录:

# 首先挂载 system 为读写
adb shell mount -o remount,rw /system
# 推送包到系统应用目录
adb push SA_ESExplorer.apk /system/app/
# 授予正确的权限
adb shell chmod 644 /system/app/SA_ESExplorer.apk
# 还原挂载 system 为只读
adb shell mount -o remount,ro /system

这里我就是举个例子,操作呢都是大同小异,需要注意一下,通过这种推包的形式安装应用,一般需要重启一下才会生效。

还有一点需要注意,/system/ 这个路径的分区的剩余空间很小,一般就装两个防止误删的小软件就行了,包尺寸大一点的比如导航软件什么的,肯定是往 /data/app/ 当中推。

经过无数次的测试,通过这个系列的方案,可以比较完美的实现我想要的效果!下一节我会对目前的效果做一个小总结。

结果

上面提到的方案跑通畅之后,我反反复复试了很多软件,在周日傍晚终于固定了软件,效果其实还是很不错的。下面我来罗列一下:

软件用途 软件名称 版本 来源 备注
桌面 嘟嘟桌面 2.026014 官网下载:https://dudu-lucky.com/ 墙裂推荐,能适配车辆的方控
导航 高德地图车机版 5.6.0.600185 官网下载:https://auto.amap.com/download 已经是最新的版本,实测可以被语音引擎唤醒
音乐 QQ音乐车载版 1.9.5.18 官网下载:https://y.qq.com/download/download.html 不会覆盖自带的QQ音乐,似乎不支持方向盘切歌
音乐 酷狗音乐 3.0.2.4 官网 https://download.kugou.com/ 没有收录这个版本 网友给的不知道啥版本,用挺好用的
系统 ES文件管理器 3.2.5.5 个人收藏 个人收藏的无广告版,体积也很小
系统 RE文件管理器 4.4.1 官网下载:https://rootexplorer.co/download-apk/ 功能正常
系统 via浏览器 4.3.6 官网下载:https://viayoo.com/zh-cn/ 短小精干的浏览器
视频 HDPFans 3.5.7 官网下载:http://www.hdplive.net/ 高清电视直播软件,效果很不错

大概就这些了,导航有高德公共版加持,音乐有QQ音乐和酷狗,可以说是完美了。当然,网易云我也试了,可惜很遗憾装不上,也没得车机版本。

另外记录一下,破解之后由于经常捣鼓,出现了语音引擎不能唤起高德,即便我把腾讯地图卸了都不行,后面我怀疑可能是语音引擎缓存导致的,通过清除语音引擎数据成功修复。

清除数据涉及到工程模式,方法是刚买车之后反编译源码发现的:
连接蓝牙之后系统拨号界面输入 ##888,再点拨号键,下一个界面输入密码 369875 就进入工程模式。然后找到进入原生设置界面,剩下的我就略过了,会用 Android 系统的都明白。

再往下就分享一些过程图片吧,我这得趁周末把这事给完结了:

主机示意图: 1637401087483.jpg 1637401118088.jpg

主机接口示意图: 1637401196699.jpg

主板示意图: 1637401302284.jpg 1637401324184.jpg

TTL 接口: 1637401414854.jpg

开机之后的终端: QQ截图20211120183553.png

驻车调试中: 57338e7b5986584e8191bbd8536e356.jpg 69d8254d16a34fd7acfde9d7776ad22.jpg

梦寐以求的高德车机版: b5c50a03af9d59db0c79f148dee17b7.jpg

精华提炼部分

上面两大章节主要是零零碎碎讲了一下我是怎么去破解的,途中遇到了什么问题,最后呢,就还是总结一下吧,方便赶时间的朋友查看。当然我这就直接输出结论了:

  • 首先,在你拆下主机之前,请记得一定给你车机的移动热点界面拍个照,把 WIFI 连接密码给拍下来,并打开热点。这是为了后面连接 adb 做准备。
  • 然后你需要拆下主机,准备一条 TTL 的串口模块,同时你还需要一台可以连接 WIFI 的电脑用以后面连接主机便于使用 adb 进行操作。
  • 拆下主机之后打开外壳找到 TTL 通讯端子,正确连接 TTL 线缆,设置 TTL 终端波特率为 115200。就绪后准备 12V 的电源并连接到主机。
  • 上电之后若一些正常可见终端软件有输出,等待十来秒时候输出停止,敲击命令可以被响应。
  • 终端工作正常之后可以进行 adbd 的网络接口绑定配置修改,修改后重启可见 adbd 已经监听 0.0.0.0:5555。
  • 使电脑连接车机的热点,连接之后通过电脑 adb 连接车机 192.168.43.1:5555,正常情况应该连接成功。
  • 有了 adb 能力之后, 就能够向 /system/app/、/data/app/ 传输 apk 包,由于 pm 命令不可用,这里只能通过这种方式安装软件,推送的包需要在重启后生效。
  • 最后,软件一般是可以安装的,但也有部分包装不上的情况,遇到这种情况检查包完整性,或者尝试装到 /data/app/ 目录,若还是不行,那可能是真的不支持。
  • root 用这种方案目前无解,容易变砖,我放弃了。

上面就是破解过程,其实也不难,恶心的地方在于必须拆机。对于非车联网的车机,可以通过挂载U盘的方式完成 apk 包的拷贝,原理大同小异。事实上周日我也抽空做了一条能用的转接线,证实了挂载U盘也能实现装入软件。当然也可以通过车机主动连接别的 WIFI 的方式来完成 adb 的连接,只要保证车机和电脑在同一个局域网就行了,由于我只有我这个车联网车机,此处就不在深入。

先到这吧,群里有几个车友发来一些神奇的软件,我要趁着还没上班赶紧去体验一下~!

  • 本文作者: 6x
  • 本文链接: https://6xyun.cn/article/147
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!