星光/宝骏/缤果/长安 车机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

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对