长安车机白名单安装软件
0x00 前言
我的车是CS55Plus 二代,众所周知长安的车机无法安装第三方软件,之前一直有安装百度CarLife使用oppo car+的想法,但是感觉很麻烦就没弄,近期偶然间看到宣传免费白名单安装,不需要root/破解啥的(新版本的系统已经无法破解了)。所以就加了QQ群,结果发现,工具免费,软件商店要钱~(妙啊妙啊)。然后就开始了我的折腾,就为了省60块钱。
0x01 原理
网上有大神通过逆向框架文件,找到了第三方文件限制的判断代码位置,发现有后手,如果包名不在安装白名单里,会获取签名证书的序列号和系统应用进行对比,详见链接:hcf6666
然后具体的操作就是先将我们想要安装的软件下载下来,然后自己构建指定序列号的证书进行签名,然后车机开启adb,车机和电脑用数据线连接,电脑用adb上传和安装软件。
0x02 详解
通过这种方式安装的软件不能直接删除,如果要删除软件必须将车机系统恢复出厂设置!!!
1 下载软件
- 可以去酷安或者车的交流群里去找,这里给一个网上找的网盘:caadb
2 对软件进行签名
#生成私钥
openssl genrsa -out private.key 2048
#生成v1证书
openssl req -new -key private.key -out csr.csr -subj "/[email protected]/CN=SCM/OU=Software/O=WTCL/L=HaiDian/ST=Beijing/C=CN"
#设置序列号
openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt -days 18250 -set_serial 0xd42599c0446bdafc
#将证书和私钥导出到 PKCS12 格式的密钥库文件
openssl pkcs12 -export -in certificate.crt -inkey private.key -out cert.p12 -name cert
#生成jks
keytool -importkeystore -srckeystore cert.p12 -srcstorepass 123456789 -srcstoretype PKCS12 -destkeystore cert.jks -deststoretype JKS -deststorepass 123456789 -noprompt
#签名
apksigner sign --ks cert.jks --ks-key-alias "cert" --out signed.apk input.apk
- 设置序列号时,序列号是最为关键的,每个车型之间可能会不同,网上的文章中能找的都是二代/三代CS75Plus,但是这个可能不适用你自己的车,首先就不适用我的车,我是自己从车机里拉取了一个系统应用然后查看的序列号,这里给列出已知的,如果不适用请自己获取
- 二代/三代CS75Plus - 0xddb66eefd98476f3
- 二代CS55Plus - 0xd42599c0446bdafc
- 执行命令中间会让输入密码,这里都用123456789,方便你操作
3 连接车机
车机电话拨号
*#*#888
,然后输入密码369875
,进入工程模式,这个也是根据车型不同有所不同,可以在网上搜索,这里给出可能的已知信息22款逸动:*#*#888,密369875 22款锐程 CC:*#*#888,密369875 睿聘CC:*#518200#* CS35PLUS:*#20180706#* CS55PLUS:*#*#888,密183201 二代55Plus:*#*#888,密369875 CS75:*#*#456258 一代CS75PLUS:*#201314#* 一代CS75PLUS:*#201302#* 二代三代CS75PLUS:*#20228888#* UN-K:*#20180706# UNI-T:"#20180706# 23锐程Plus/22cc:*#*#888,密369875 UN-V:"#"#888,密369875 欧尚X70A:*#518200#* 欧尚x5:*###388,密6020/3218
然后点击调试工具/切换USB模式,点击里面的按钮切换usb为adb模式(最后记得切换回usb模式)
双公头数据线连接电脑(网上都推荐用windows,其实mac也可以,我就用的mac,但是需要用拓展坞)
电脑在命令行运行adb命令
# 启动/查看连接设备,出现设备名称就是连接成功了,没有的就是说明没有连接成功,车机/线都可能有关系 adb devices # 推送要安装的软件到车机 adb push ./signed.apk /storage/emulated/0 # 启动shell,需要密码,输入adb36987 adb shell # 安装软件,如果车机界面显示xxx is not auth, install failed!,说明签名不对 pm install /storage/emulated/0/signed.apk # 安装成功后退出shell exit
然后就可以返回桌面去查看安装好的软件了
0x03 问题
1 如何获取车机系统应用的签名序列号?
# 启动/查看连接设备,出现设备名称就是连接成功了,没有的就是说明没有连接成功,车机/线都可能有关系
adb devices
# 启动shell,需要密码,输入adb36987
adb shell
# 查看系统应用列表,自己选择一个软件
ls /system/app/
# 退出shell
exit
# 拉取系统软件到本地
adb pull /system/app/WT_AppStore/WT_AppStore.apk ./sys1.apk
# 查看签名信息,从输出信息里就可以找到序列号了
keytool -printcert -jarfile sys1.apk
2 可能遇到的问题
- 如何安装adb?如何安装配置openssl?如何安装apksigner?
- 请根据自己的系统自行搜索或者问ai,嫌麻烦最好放弃或者去花钱