在oppo系统中Android Oaid SecurityException 解决方案

news/2024/11/28 13:37:52/

在Android 10以上,是无法获取到imei ,往往通过安全联盟的sdk 获取oaid。但在oppo设备上发生签名安全问题。

现象

在oppo系统(包含oppo、真我、一加)中通过插件化沙盒环境下(233乐园/摸摸鱼等渠道下),打开游戏,其中oaid模块抛出异常。

java 堆栈异常如下:
在这里插入图片描述
设备信息
在这里插入图片描述

分析过程

通过网上资料,一个oaid 逆向开源库有相关的代码,发现oppo 厂商是通过跨进程service方式来oaid ,该接口没有做安全校验,通用型(依据:oaid逆向开源库中demo.apk 可以正常获取到oaid )。查找该库中的有关代码,发现 调用oaid 的api 需要传递 三个参数,其中包含包名和签名
在这里插入图片描述
可能在沙盒环境下,提供的包名和签名对不上,被oppo系统判定是非安全的。

解决方式

1.在oppo系统上使用开源oaid库,当发生异常,会被捕获

2.使用Thread.UncaughtExceptionHandler 进行匹配该异常,进行捕获。
在这里插入图片描述最后在捕获该异常后,根据设备+UUId之类算出一个deviceId。


http://www.ppmy.cn/news/979205.html

相关文章

了解Unity编辑器之组件篇Video(二)

Video Player组件:用于在游戏中播放视频的组件。它提供了一系列属性来控制视频的播放、显示和交互。 1.Source(视频源):用于指定视频的来源。可以选择两种不同的视频源类型: (1)Vieo Clip&#…

Android TelephonyManager双卡获取数据开启状态异常的可能原因

背景 应用内不指定subId获取数据状态可能会错误,因为可能拿到voice的能力,而非data。 代码逻辑 1、通过TelephonyManager的isDataEnabled()没有指定subId时,调用内部方法isDataEnabledForReason,传入getId()参数以指定subid&am…

新突破!谷歌量子计算机6秒内完成47年计算

谷歌科学家在量子计算机方面取得重大突破,谷歌在 arxiv 上发表了一篇关于量子计算机的论文,并宣称他们的量子计算机在短短 6 秒内就完成了世界上最先进计算机 47 年的计算量。 论文称,谷歌最新Sycamore量子处理器目前拥有70个量子比特&#x…

java篇 类的基本概念0x01:包与类

文章目录 package(包)IDEA 中目录结构在包中使用类访问修饰符不同包中的同名类类的全限定名java 中不需要导入(import) 就能直接使用的类:java.lang包中的所有类 package(包) 为了避免类在一起…

MySQL中mysql_affected_rows()的介绍和用法

摘要:本文将详细介绍MySQL数据库中mysql_affected_rows()函数的概念和使用方法。通过示例和输出结果展示如何利用该函数获取SQL语句执行后所影响的行数,帮助读者更好地理解和应用这一功能。 1. 什么是mysql_affected_rows() mysql_affected_rows()是My…

华为eNSP:isis的配置

一、拓扑图 二、路由器的配置 配置接口IP AR1&#xff1a; <Huawei>system-view [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24 [Huawei-GigabitEthernet0/0/0]qu AR2: <Huawei>system-view [Huawei]int g0/0/0 [Huawei-GigabitEthe…

Linux-head

Linux命令&#xff1a;head命令详解 概述&#xff1a;head命令用于显示文件文字区块 1、格式 head 【参数】【文件】 2、参数 -q 隐藏文件名   -v 显示文件名   -c<字节> 显示字节数   -n<行数> 显示的行数 [rootwww ~]# head [-n number] 文件 选项与参…

63. 不同路径 II

题目链接&#xff1a;力扣 解题思路&#xff1a;类似于 62. 不同路径 动态规划&#xff1a; 定义状态&#xff1a;对于m*n的网络&#xff0c;从最后一行到右下角&#xff0c;以及从最后一列到右下角&#xff0c;都只有一条不同路径&#xff1a;一直向右或一直向下&#xff0c…