第三代长安75p安装三方软件

前言

长安的车机系统是 长安与腾讯联合且基于安卓自研的 梧桐车联系统

通过一些特殊方式,打开了车机的系统信息真身

此系统极为封闭,默认情况下,不允许安装除了车机本身应用商店之外的三方软件,本身内置的商店里的软件少不说 版本还低(比如高德)且不支持升级,只能等待整个车机系统连带升级,遗憾的是他们通常好几年不推送升级车机系统!。

本文要解决的:就是如何突破系统限制,安装三方软件,不用等待车机原生的更新推送!


分析车机封锁咱们安装三方软件的猥琐策略:

  1. 隐藏安装包:无论是车机上的百度网盘还是文件管理中的USB设备,你都看不到里边自己的安装包APK文件。
  2. 禁止安装三方包:哪怕你想办法让找到了安装包,在你安装的那一刻,车机就会提示你: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://ca.dingshaohua.com
目前只在我的第三代cs75p上验证成功,其他我也没那么多车。
更多请加群

posted @ 2024-05-13 14:43  丁少华  阅读(1655)  评论(6编辑  收藏  举报