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

本文讲述了如何通过XML文件(如usb_device_manager.xml和device_filter.xml)管理USB设备的权限,以及如何通过APK中的资源文件来确定设备是否支持默认授权。作者指导了如何检查APK以确认设备过滤器和USB设备关联,以判断新盒子是否支持这种授权方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来看一下我提供的 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"?>
<resources
  xmlns: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-device
        product-id="5408"
        vendor-id="4884" />

    <usb-device
        product-id="5409"
        vendor-id="4884" />

    <usb-device
        class="239"
        subclass="2" />
</resources>

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

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

  <meta-data
		android: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

如果都满足那就可行

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cczhengv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值