本次分析基于逸动plus车机,小白业余分析,很多基于个人经验,简单描述仅作参考。另外不探讨其他的安装方法,仅作拦截分析
此车机使用的梧桐车联制作的系统,基于Android P。使用的是为辰安全方案。
此车机默认是禁止安装app应用的,会提示被拦截并且自动卸载。可见PackageInstaller是没有做限制的,而是通过系统底层检测或者应用检测类似手机上安全管家进行拦截再卸载的。我们逐一分析。
1.首先是分析应用检测的情况。首先提取所有系统安装包,排除安卓系统常见APP,以及地图等应用。剩下的几个apk包,我们直接上MT管理器搜索弹窗的关键字,很快就能找到。
此时把此应用停用,再次安装会发现依旧不行。这会弹出的是英文**is not auth,install failed!(未认证安装失败)这种大概率是有做白名单验证或者签名验证。
2.重复上面的操作,也没有在任何应用发现相关提示代码。这时可以断定是系统底层框架做了限制了。把底层框架服务framework文件全部提取出来逐一分析。长安的系统是经过dex优化的,所以framework.apk是找不到东西的,我们需要把services服务相关文件进行反编译成dex。此处需要借助Baksmali:GitHub - JesusFreke/smali: smali/baksmali反编译回dex文件,个人对smali代码不熟所以继续把dex转为jar更好分析,此处借助Apktool:Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps.
搜索关键提示代码,找到了对应class位置。
不难看出这是由isCheckSecurity 和!this.mCert.isCheckAuth两个条件触发的。用&&连接说明只要解决一个就行了,搜索isCheckSecurity,就会发现长安还是留了一个暗门的~哈哈
但是22款,很遗憾。小暗门关掉了。。
isCheckSecurity这一个判断没有了,仅有this.mCert.isCheckAuth作为应用证书认证(白名单)。
此时只能是改services代码不检测或者修改为默认通过,但是不确定系统是否有对文件做开机验证,有开不了机的风险(开不了机可能几千就没了)。总之改services不是一个安全又便捷的方案。
当然还可以从白名单/证书方面下手,这一块还没进行下一步了解,大概看了一下SHA算法签名,RSA算法加密,难度应该不小。
就先这样。