hcf6666 发表于 2024-4-20 14:19

长安二代CS75Plus,自签app安装app到车机

本帖最后由 hcf6666 于 2024-4-21 12:44 编辑

## 声明

> 本文章中所有内容仅供研究、学习交流使用,不能用作其他任何目的,严禁用于商业用途和非法用途,否则一切后果自负,与作者无关。如有侵权请联系作者删除文章。



## 前言

手里有长安的都知道,长安汽车除了部分车机有应用商店,自己想安装软件,要费点功夫,老版本可以解锁后挂载system分区用adb root安装app,很多人叫这种方式为扎根。但是新版本限制了这部分权限,导致无法解锁挂载system分区。

那为啥不用adb install直接安装呢?因为安装会验证证书这些,导致不能成功安装,所以本文就是想办法解除该限制。



## 流程

如何定位到关键点这里不过多赘述,最终定位到boot-ext.vdex这个文件,然后转为dex,丢到JEB里面,找到com.vecentek.security.CertificateManager 这个包。



找到isCheckAuth这个方法,可以看到会检查指定包名是否在白名单,不在的话后面会parseSignature 解析签名,然后getSerialNumber 获取 SerialNumber 并和系统app的比对,所以这个签名序列号应该就是突破点,那我们尝试按照这个序列号生成一个签名,签一个app推进去试试。

备注:boot-ext这部分属于为辰加密,不知道这样写是长安要求还是怎样,反正这个也算留了个后手吧。




## 生成证书
先提取一个系统app的签名,然后打印信息瞧瞧序列号是多少

```shell
keytool -printcert -file CERT.RSA
```



```shell
#生成私钥
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

#签名
java -jar apksigner.jar sign --ks cert.jks --ks-pass env:password --ks-key-alias "cert" --out "test_sign.apk" "test.apk"
```



## 提示

此方法可以应用于长安大部分车型,弊端是安装的软件不能卸载,因为这样修改签名会被识别成系统应用不允许卸载,只能恢复出厂。

wj21 发表于 2024-4-21 10:43

好办法,提取一个系统app的签名后,是直接使用吗?还是自己怎么再生成一个新的呢?

ln2327c 发表于 2024-5-9 20:03

白名单软件 怎么才能推到车机里 用什么命令呢

frankssy 发表于 2024-5-11 15:04

白名单,卖工具又要开心了 又能白嫖了{:301_991:}

yufeiyang2008 发表于 2024-5-11 15:22

wj21 发表于 2024-4-21 10:43
好办法,提取一个系统app的签名后,是直接使用吗?还是自己怎么再生成一个新的呢?

生成新得签名文件

yufeiyang2008 发表于 2024-5-11 16:09

免root卸载器能否卸载掉
页: [1]
查看完整版本: 长安二代CS75Plus,自签app安装app到车机