【Android 原创】MIUI 12稳定版系统中的开发者选项限制解除

您所在的位置:网站首页 emui系统开发者选项 【Android 原创】MIUI 12稳定版系统中的开发者选项限制解除

【Android 原创】MIUI 12稳定版系统中的开发者选项限制解除

2024-07-13 14:52:05| 来源: 网络整理| 查看: 265

以下MIUI 12限制解除:

1.开发者选项中的USB安装必须插入SIM卡

2.开发者选项中的USB调试(安全设置)25秒窗口绕过

3.通过ADB命令行安装APK时提示小窗口“是否继续安装”

0x00 定位第一个限制代码

实际控制权限App:com.miui.securitycenter过程摘要:        一开始以为在com.android.settings包App里面,经过界面定位发现竟然在MIUI手机管家。        解包,JEB 3.24 Decompiler之后迅速定位相关Activity: com.miui.permcenter.install.AdbInstallVerifyActivity

    该Activity寻找的办法是:点击开启USB安装后,利用“开发者助手”的界面分析器看到栈顶界面有一闪而过的com.miui.permcenter,由于是一闪而过的小窗口,他显示的是“正在开启...”,然后迅速提示我”请插入SIM卡“,截图来不及,就不上图了.     随后找到com.miui.securitycenter,利用AdbInstallVerifyActivity类名迅速定位,详细寻找过程不再赘述。

查看OnCreate函数,可以看到

直接在启动了一个后台网络线程,请求网络,查看q.a后发现是检查用户是否有权限解锁:

此处不提,往下看可知

又执行了一个b函数,检查是否登录小米账号。我这里已经登录所以没有报错。如果想在不登录账户的情况下解锁,可以考虑回溯该处堆栈信息以进行判断Hook,让他直接走this.a()函数。

我们继续查看this.a函数:

可以看到开始进入布局界面inflate,做开发的看到这个函数一定很熟悉了,界面加载。

setupAlert函数没什么看头,目测是打开提示窗口。

我们直接看d函数

d函数很有意思,先进行了网络判断,如果没网会提示你开网再玩.有网的话它会执行一个后台任务.

我们到new a这里看。

a是一个内部静态异步任务

里面持有了一个弱引用上下文防止内存泄漏。

既然是Asynctask那么我们就关注一下两个特殊函数

doInBackground是优先于onPostExecute执行的,是进行网络访问等耗时操作,然后把结果传回UI线程函数onPostExecute。

也就是说,我们只需要直接看结果接受函数:onPostExecute.

doInBackground是返回了错误信息,用于this.a函数接受,如果不符合解锁条件那么a函数将会吐司它的String信息。

点开this.a(((String)arg1));我们看下a函数是干嘛的:

直接预览一看,v0不用看了  是上下文  不会出现null指针,所以第一个判断直接忽略,看第二个:arg4 == null那么执行v0.c()函数。

c函数又是干嘛的?我们预览一下:

这个没什么好说的了,InputApplyActivity不是我们的界面,略过,所以this.c一定是false才对。

又执行了this.a(true)函数,我们看一下:

好,最后执行了最终操作函数:d.a(clazzInstance).a(Boolean)

跳过去一看:

对头了,终于找到控制adb安装的选项。

重新梳理逻辑:

this.onPostExecute(null)参数必须为null,然后cls.c.value = false直接判断为false走this.a(true)函数,最后执行了a(true)函数,整个Hook就完成了。剩下的工作MIUI已经做好了,我们Hook的只有两个地方。        解除限制SIM卡的FrIDA Hook代码:(注释较多)

0x01 寻找解除USB调试(安全设置)25秒窗口

实际控制权限App:com.miui.securitycenter过程摘要:类似0x00节,这里是弹出窗口后用“开发者助手”查看栈顶Activity,得到当前界面:com.miui.permcenter.install.AdbInputApplyActivity

根据类名迅速定位:

既然是两个按钮,直接定位相关onClick代码

看到图中有一个0x7F090017和0x7F090502,一个ID是Accept和Reject,此处不难理解。

有趣的是ID:reject处调用了一个a函数。我们看:

那么如果我们设置它参数为true,会怎么样呢?答案是会重启手机adbd,成功开启该选项,从而绕过25秒提示。

0x02 寻找解除是否继续安装限制

实际控制权限App:com.miui.securitycenter过程摘要:还是在MIUI手机管家里。MIUI真厉害!

简单分析,拒绝和继续安装还是按钮。

直接从activity找相关执行函数:

可以看到,有一个arg3和arg4.

通过frida下log断点得出 当用户点击拒绝时arg4为-1,否则为-2.

我们看下a.a函数验证猜想:

果然,只有-2时参数arg3才是false,即allowed_pkg.

所以我们可以这样写:主动调用onClick(null,-2),然后finish()让窗口自己消失,这样就达到了不用点击全自动安装App不受限制的目的。

看代码:

0x03 结果

App也直接成功直接安装进入debugger模式。

原文链接:https://www.52pojie.cn/thread-1274517-1-1.html



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭