星光/宝骏/缤果/长安 车机CarPlay盒子权限破解原理普及----小白版本

本文主要是介绍星光/宝骏/缤果/长安 车机CarPlay盒子权限破解原理普及----小白版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来看一下我提供的 usb_device_manager.xml 文件内容

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<settings><preference package="cn.manstep.phonemirrorBox" user="0"><usb-device vendor-id="4884" product-id="5408" class="0" subclass="0" protocol="0" manufacturer-name="Magic Communication Tec." product-name="Auto Box" serial-number="0123456789FEDCBA" /></preference><preference package="cn.manstep.phonemirrorBox" user="0"><usb-device vendor-id="4884" product-id="5409" class="0" subclass="0" protocol="0" manufacturer-name="Magic Communication Tec." product-name="Auto Box" serial-number="0123456789FEDCBA" /></preference><preference package="com.difengze.carlink" user="0"><usb-device vendor-id="6353" product-id="15616" class="0" subclass="0" protocol="0" manufacturer-name="Allwinner Technology Inc." product-name="Tina Accessory" serial-number="20080411" /></preference>
</settings>

解释下里面的关键信息

package 包名 cn.manstep.phonemirrorBox(车连易的autokit) com.difengze.carlink(轻盒的智能互联)

vendor-id 系统厂商识别码

product-id 产品识别码

manufacturer-name 厂商名字

product-name 产品名字

serial-number 设备序列号

这里面的信息怎么来的呢?很简单,我提供了一个 otgV1.apk 安装打开后,插入你的盒子,屏幕上就会自动显示对应的这些信息

把这些信息抄下来填到 usb_device_manager.xml 中就行

但不是说所有的盒子都能用,因为这个xml文件和你装的 apk(autokit/智能互联) 有关系,需要看具体 apk 而定。

比如说最近有人拿了一个叫君用的盒子,对应的apk其实就是 autokit,因为包名是一样的,所以只要上面的信息匹配上了就可以正常使用

怎么看 apk 是否支持 xml 这种默认授权方式??

解压你要安装的盒子对应apk,一般是客服告诉你的或者在官网下载的。

解压后有个res文件夹,点进去里面还有个xml文件夹,看里面是不是有 device_filter.xml 这个文件

来看下智能互联的这个文件,里面定义了它的6款设备

<?xml version="1.0" encoding="utf-8"?>
<resourcesxmlns:android="http://schemas.android.com/apk/res/android"><usb-device product-id="8" vendor-id="8213" /><usb-device product-id="53250" vendor-id="6353" /><usb-device product-id="15616" vendor-id="6353" /><usb-device product-id="20201" vendor-id="7994" /><usb-device product-id="11520" vendor-id="6353" /><usb-device product-id="11521" vendor-id="6353" />
</resources>

车连易的autokit文件,包含了3款设备,目前就遇到过两款,所以xml中就只有那两个常用的

<?xml version="1.0" encoding="utf-8"?>
<resources><usb-deviceproduct-id="5408"vendor-id="4884" /><usb-deviceproduct-id="5409"vendor-id="4884" /><usb-deviceclass="239"subclass="2" />
</resources>

那是不是有这个 device_filter.xml 文件就说明能支持这种授权了呢。一般情况下是可以的,

除非这个 apk 写的很变态,你可以再去检查下 AndroidManifest.xml 一般来讲肯定会有下面这个代码定义

  <meta-dataandroid:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"android:resource="@xml/device_filter.xml"android:directBootAware="true" />

这个意思就说只要有usb设备插入了,而且恰好这个usb设备的 vid pid 在 device_filter.xml 中,

正常系统会弹一个框问你是否要用这个apk默认打开你插入的usb设备,如果你点了一律允许,那么就会把 usb 信息和包名写到 usb_device_manager.xml 中

下次直接就打开了,不用再弹框。所以破解的原理就是把这个文件预先设置好了,usb_device_manager.xml 中查找到包含当前包名的信息,就说明已经授权过了

总结一下:

如果你要搞一个新的盒子是否能支持这种授权方式

第一步 解压它的apk,确认里面有没有 res/xml/device_filter.xml 文件

第二步,确认 AndroidManifest.xml 里有没有引用 USB_DEVICE_ATTACHED 和对应的 device_filter.xml

如果都满足那就可行

这篇关于星光/宝骏/缤果/长安 车机CarPlay盒子权限破解原理普及----小白版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/856313

相关文章

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默