第三代长安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上验证成功,其他我也没那么多车。
更多请加群

第三代长安75p安装三方软件的更多相关文章
- 移动iptv安装三方软件
1.思路: 分为硬件和软件. a.硬件是ttl直接上串口,弄得比较复杂,且容易损坏盒子,先不考虑 b.软件:抓包获取iptv的请求数据,将移动光猫的iptv出口接到交换机上,电脑和盒子接入到同一个交 ...
- Mac安装三方软件
安装提示“xxx软件已损坏,打不开,您应该将它移到废纸篓”的提示,其实并不是软件本身有问题,而是Mac系统的一个安全机制问题步骤1:Spotlight搜索(快捷键:command+空格或右上角搜索的符 ...
- 单机静默安装GI软件并创建ASM实例和ASM磁盘组
环境:RHEL 6.4 + Oracle 11.2.0.4 需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到ASM做准备 1. 安装配置GI软件 2. 创建ASM实例 ...
- Linux删除apt-get安装的软件
我们都知道安装软件最简单的方法是apt-get install,但是卸载就不常用了,如何卸载呢?1.sudo apt-get remove xxxxxsudo apt-get autoremove2. ...
- Linux 中如何卸载已安装的软件(转载)
Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实 ...
- 安装ubuntu和安装ubuntu后要安装的软件列表
安装ubuntu 老毛桃进入win pe修复启动项 在win pe下面制作ubuntu的安装盘,只用的软件是ultraISO 参考博客下面的分区的那篇文章 http://jingyan.baidu. ...
- ubuntu如何卸载apt-get install安装的软件
1.sudo apt-get remove xxxxx sudo apt-get autoremove2.对于用命令sudo aptitude install xxx安装的软件可以用sudo apt ...
- Linux 中如何卸载已安装的软件
Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现.与其相类似, ...
- 如何在redhat下安装办公软件(openoffice)
在redhat的client版本中自带有办公软件libreoffice,而在server版的redhat中却没有自带的办公软件,那么,如何在redhat的server版下安装办公软件呢? 方法一:配置 ...
- 安装PHP软件
安装PHP软件 ① tar -zxvf php-5.2.5.tar.gz ② cd php-5.2.5 ③ 使用configure配置安装信息(最重要) ./configure \ --prefix= ...
随机推荐
- [设计模式/Java] 设计模式之工厂方法模式【11】
概述:工厂方法模式 := Factory Method Pattern 工厂模式的3种细分模式: 简单工厂模式 / 工厂方法模式 / 抽象工厂模式 工厂模式(Factory Pattern)是 Jav ...
- Linux 关机与重启命令
关机命令 我们可以使用以下三种命令来关机 Linux : 1.立刻关机(需要root用户) shutdown -h now 10 分钟后自动关机 shutdown -h 10 2.立刻关机 halt ...
- 在 Ubuntu 上安装 Python 3.11、创建虚拟环境并设置 pip 阿里云源的主要命令
在 Ubuntu 上安装 Python 3.11.创建虚拟环境并设置 pip 阿里云源的主要命令流程如下: 安装 Python 3.11 sudo apt update sudo apt instal ...
- EF Core 中避免 SQL 注入的三种写法
SQL 注入攻击可能会对我们的应用程序产生严重影响,导致敏感数据泄露.未经授权的访问和应用程序受损.EF Core 提供了三种内置机制来防止 SQL 注入攻击. 1.利用 LINQ 查询语法和参数化查 ...
- hadoop集群搭建(亲测笔记)
------步骤: 准备3台机器 同步时间 配置主机名 配置主机名ip映射 免密登录 关闭防火墙 搭建zookeeper集群 搭建hadoop 准备3台机器 我通过VMware workstation ...
- thinkphphp 计算分页 和分页总数 和sql计算分页 php
利用page计算分页 $p=input('p')?input('p'):1; $limit=6; $res=db('points_log')->where(['p_uid'=>$uid,' ...
- HarmonyOS运动开发:如何监听用户运动步数数据
前言 在开发运动类应用时,准确地监听和记录用户的运动步数是一项关键功能.HarmonyOS 提供了强大的传感器框架,使得开发者能够轻松地获取设备的运动数据.本文将深入探讨如何在 HarmonyOS 应 ...
- <HarmonyOS第一课04>应用程序框架基础
视频链接: https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101717497122909477?ha_sou ...
- 【MOOC】华中科技大学计算机组成原理慕课答案-第八章-输入输出系统
应一个同学后台留言,说让我发就发全,那我干脆把剩的这一章测验也发了吧. 以下解析由GPT生成,不保证可读可解释,仅保证答案正确. 单选 1 (单选(2分)) 某中断系统中,每抽取一个输入数据就要中断 ...
- UnoCSS原子CSS引擎
UnoCSS是一款原子化的即时按需 CSS 引擎,其中没有核心实用程序,所有功能都是通过预设提供的.默认情况下UnoCSS应用通过预设来实现相关功能. UnoCSS中文文档: https://www. ...