第三代长安75p安装三方软件
前言
长安的车机系统是 长安与腾讯联合且基于安卓自研的 梧桐车联系统。
通过一些特殊方式,打开了车机的系统信息真身
此系统极为封闭,默认情况下,不允许安装除了车机本身应用商店之外的三方软件,本身内置的商店里的软件少不说 版本还低(比如高德)且不支持升级,只能等待整个车机系统连带升级,遗憾的是他们通常好几年不推送升级车机系统!。
const appList = [
{
name: '阿哈路书',
package: 'com.aha.autocar.vehicle'
}, {
name: '阿基米德',
package: 'com.ajmide.car.a'
}, {
name: '百度网盘',
package: 'com.baidu.netdisk.car'
}, {
name: '车载大碟',
package: 'com.thunder.disc'
}, {
name: '俄罗斯方块',
package: 'com.wt.tetris'
},{
name: '樊登读书',
package: 'io.dushu.car'
},{
name: '凤凰FM',
package: 'com.ifeng.ecarxfm'
},{
name: '华云天气',
package: 'com.hymz.weather'
},{
name: '极速狂飙',
package: 'com.tinnove.speedrun'
},{
name: '减压神器',
package: 'com.thunder.master'
},{
name: '酷狗音乐',
package: 'com.kugou.android.auto'
},{
name: '酷我音乐',
package: 'cn.kuwo.kwmusiccar'
},{
name: '乐听头条',
package: 'com.leting.car'
},{
name: '芒果TV',
package: 'com.mgtv.auto'
},{
name: '咪咕视频',
package: 'cn.cmvideo.car.play'
},{
name: '栖云异梦',
package: 'com.tantrum.qyym'
},{
name: '搜狐视频',
package: 'com.sohu.automotive'
},{
name: '汤姆猫跑酷',
package: 'com.outfit7.talkingtomgoldrun.car.changan'
},{
name: '汤姆猫总动员',
package: 'com.outfit7.mytalkingtomfriends.car.changan'
},{
name: '听见广播',
package: 'cn.cbct.seefmcar'
},{
name: '喜马拉雅',
package: 'com.ximalaya.ting.android.car'
},{
name: '喜马拉雅儿童',
package: 'com.ximalaya.ting.android.carkids'
},{
name: '消灭病毒',
package: 'com.wt.drmario'
},{
name: '消灭泡泡',
package: 'com.tinnove.bubblepop'
},{
name: '晓悟互动小说',
package: 'com.qiwu.watch'
},{
name: '优酷视频',
package: 'com.youku.car'
},{
name: '云听',
package: 'com.edog.car'
},{
name: '中国象棋',
package: 'com.wt.chinesechess'
},{
name: '中国移动云盘',
package: 'com.chinamobile.mcloudcar'
},{
name: '中华万年历',
package: 'cn.etouch.ecalendar.chancar'
},{
name: '最美天气',
package: 'com.icoolme.car.weather'
},{
name: 'WiFi万能钥匙',
package: 'com.snda.wifilocating.car'
}
]
export default appList;
本文要解决的:就是如何突破系统限制,安装三方软件,不用等待车机原生的更新推送!
分析车机封锁咱们安装三方软件的猥琐策略:
- 隐藏安装包:无论是车机上的百度网盘还是文件管理中的USB设备,你都看不到里边自己的安装包APK文件。
- 禁止安装三方包:哪怕你想办法让找到了安装包,在你安装的那一刻,车机就会提示你:
xx is not auth, install failed!
突破【隐藏安装包】
思路:通过adb,使用电脑将apk推送到车机上,然后再使用adb将其安装到车机上。
开启车机ADB
ADB是电脑沟通车机系安卓统底层的方式,所以需要车机开启此功能。
电脑连接车机
电脑下载并打开adb软件,连接车机。
输入命令行并执行 adb devices
看到如下,即可代表成功连接。
电脑推送并安装软件到车机
推送
在电脑终端输入命令行并执行:将电脑本机下载好的安装包 推送 到车机
adb push ./es.apk /storage/emulated/0
为什么不直接adb install 安装?---因为车机屏蔽了次方式,会提示输入密码后方可安装。
为什么不推到车机别的位置?---因为你没有root权限,所以车机初了这个位置外,不允许你复制到其它文件夹,会提示permission denied
。
安装
在电脑终端输入命令行并执行:安装已经推送到车机的apk
注意:pm install xx.apk实际上任何软件都可以(这里只是拿es.apk举例),但必须是伪装后的软件(后边讲)
adb shell
提示输入密码 adb36987
pm install /storage/emulated/0/es.apk
安装成功后,车机桌面上就出现了这个软件
这里安装的es.apk值得是es文件管理器软件,我在网上随便找了一个下载的,
打开es文件管理器(其实任何文件管理器都可以),都可以看到你设备上(比如u盘)的安装包apk文件了
突破【禁止安装三方包】
即便你已经想办法让车机找到了安装包并且安装,但车机依然拒绝为你安装。
因为车机底层代码它这么写的,不过好在内部员工留了后门,只要安装包符合某种规则签名它就认为是自己人,就允许安装。
感谢hcf666的发现。
根据hcf666拆解底层代码得知,符合某种特定规则值得是 签名序列号必须是ddb66eefd98476f3
所以我们拿到apk软件包,按照这个签名规则 重新二次签名即可。
下边就是一个二次签名apk,伪装自己人的步骤(有些人将其称为白名单)。
配置java环境
签名和生成jks要用
不想说,网上资料太多了。
这就代表成功了
配置安卓环境
安装安卓环境,既sdk(我这里是通过安装andriod studio 来安装的安卓,如果你不想安装安卓ide 还可以使用sdkmanager来安装这些sdk)
然后将安卓sdk中的build-tools里的apksigner也配置到环境变量中,方便后续使用,比如我的
C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\34.0.0
这样即为成功
配置openSSL
签名的时候用,这里有教程
这样即为成功
二次签名
#生成私钥
openssl genrsa -out private.key 2048
#生成v1证书
openssl req -new -key private.key -out csr.csr -subj "/emailAddress=auto_release@auto-pai.com/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 0xddb66eefd98476f3
#将证书和私钥导出到 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
其中 input.apk为原始的官方安装包,signed.apk为生成的二次签名后的包,这个包即能被车机安装。
注:通过这种方式安装到车机上的是不可卸载的,如需卸载需将车机恢复出厂设置
卸载软件
由于车机系统的限制,无论是内置的,还是通过以上办法安装的(也会被系统识别为内置)。
均无法被卸载 xx(软件报名) is auth app,not allow delete!
但是我们可以利用adb冻结,不过有时候桌面图标可能还在,但是已经无法使用了
pm disable-user xx(软件包名)
如果我们再想使用的时候,解冻即可pm enable-user xx(软件包名)
其他
如果自己搭建【转换白名单应用】环境过于困难,可以使用我写的免费在线转换平台, https://car.dingshaohua.com
目前只在我的第三代cs75p上验证成功,其他我也没那么多车。
更多请加群