五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【Android 原創(chuàng)】MIUI 12穩(wěn)定版系統(tǒng)中的開發(fā)者選項(xiàng)限制解除

2020-10-15 17:56 作者:吾愛破解論壇  | 我要投稿

以下MIUI 12限制解除:

1.開發(fā)者選項(xiàng)中的USB安裝必須插入SIM卡


2.開發(fā)者選項(xiàng)中的USB調(diào)試(安全設(shè)置)25秒窗口繞過


3.通過ADB命令行安裝APK時(shí)提示小窗口“是否繼續(xù)安裝”


0x00 定位第一個(gè)限制代碼

實(shí)際控制權(quán)限App:com.miui.securitycenter
過程摘要:
? ?? ???一開始以為在com.android.settings包App里面,經(jīng)過界面定位發(fā)現(xiàn)竟然在MIUI手機(jī)管家。
? ?? ???解包,JEB?3.24 Decompiler之后迅速定位相關(guān)Activity: com.miui.permcenter.install.AdbInstallVerifyActivity

? ? 該Activity尋找的辦法是:點(diǎn)擊開啟USB安裝后,利用“開發(fā)者助手”的界面分析器看到棧頂界面有一閃而過的com.miui.permcenter,由于是一閃而過的小窗口,他顯示的是“正在開啟...”,然后迅速提示我”請(qǐng)插入SIM卡“,截圖來不及,就不上圖了. ? ? 隨后找到com.miui.securitycenter,利用AdbInstallVerifyActivity類名迅速定位,詳細(xì)尋找過程不再贅述。

查看OnCreate函數(shù),可以看到


直接在啟動(dòng)了一個(gè)后臺(tái)網(wǎng)絡(luò)線程,請(qǐng)求網(wǎng)絡(luò),查看q.a后發(fā)現(xiàn)是檢查用戶是否有權(quán)限解鎖:


此處不提,往下看可知


又執(zhí)行了一個(gè)b函數(shù),檢查是否登錄小米賬號(hào)。我這里已經(jīng)登錄所以沒有報(bào)錯(cuò)。如果想在不登錄賬戶的情況下解鎖,可以考慮回溯該處堆棧信息以進(jìn)行判斷Hook,讓他直接走this.a()函數(shù)。

我們繼續(xù)查看this.a函數(shù):


可以看到開始進(jìn)入布局界面inflate,做開發(fā)的看到這個(gè)函數(shù)一定很熟悉了,界面加載。

setupAlert函數(shù)沒什么看頭,目測(cè)是打開提示窗口。

我們直接看d函數(shù)


d函數(shù)很有意思,先進(jìn)行了網(wǎng)絡(luò)判斷,如果沒網(wǎng)會(huì)提示你開網(wǎng)再玩.有網(wǎng)的話它會(huì)執(zhí)行一個(gè)后臺(tái)任務(wù).

我們到new a這里看。

a是一個(gè)內(nèi)部靜態(tài)異步任務(wù)


里面持有了一個(gè)弱引用上下文防止內(nèi)存泄漏。

既然是Asynctask那么我們就關(guān)注一下兩個(gè)特殊函數(shù)


doInBackground是優(yōu)先于onPostExecute執(zhí)行的,是進(jìn)行網(wǎng)絡(luò)訪問等耗時(shí)操作,然后把結(jié)果傳回UI線程函數(shù)onPostExecute。

也就是說,我們只需要直接看結(jié)果接受函數(shù):onPostExecute.

doInBackground是返回了錯(cuò)誤信息,用于this.a函數(shù)接受,如果不符合解鎖條件那么a函數(shù)將會(huì)吐司它的String信息。

點(diǎn)開this.a(((String)arg1));我們看下a函數(shù)是干嘛的:


直接預(yù)覽一看,v0不用看了??是上下文??不會(huì)出現(xiàn)null指針,所以第一個(gè)判斷直接忽略,看第二個(gè):arg4 == null那么執(zhí)行v0.c()函數(shù)。

c函數(shù)又是干嘛的?我們預(yù)覽一下:


這個(gè)沒什么好說的了,InputApplyActivity不是我們的界面,略過,所以this.c一定是false才對(duì)。

又執(zhí)行了this.a(true)函數(shù),我們看一下:


好,最后執(zhí)行了最終操作函數(shù):d.a(clazzInstance).a(Boolean)

跳過去一看:


對(duì)頭了,終于找到控制adb安裝的選項(xiàng)。

重新梳理邏輯:

this.onPostExecute(null)參數(shù)必須為null,然后cls.c.value = false直接判斷為false走this.a(true)函數(shù),最后執(zhí)行了a(true)函數(shù),整個(gè)Hook就完成了。剩下的工作MIUI已經(jīng)做好了,我們Hook的只有兩個(gè)地方。
? ?? ???解除限制SIM卡的FrIDA?Hook代碼:(注釋較多)

0x01 尋找解除USB調(diào)試(安全設(shè)置)25秒窗口

實(shí)際控制權(quán)限App:com.miui.securitycenter
過程摘要:類似0x00節(jié),這里是彈出窗口后用“開發(fā)者助手”查看棧頂Activity,得到當(dāng)前界面:com.miui.permcenter.install.AdbInputApplyActivity


根據(jù)類名迅速定位:


既然是兩個(gè)按鈕,直接定位相關(guān)onClick代碼


看到圖中有一個(gè)0x7F090017和0x7F090502,一個(gè)ID是Accept和Reject,此處不難理解。

有趣的是ID:reject處調(diào)用了一個(gè)a函數(shù)。我們看:


那么如果我們?cè)O(shè)置它參數(shù)為true,會(huì)怎么樣呢?答案是會(huì)重啟手機(jī)adbd,成功開啟該選項(xiàng),從而繞過25秒提示。


0x02 尋找解除是否繼續(xù)安裝限制

實(shí)際控制權(quán)限App:com.miui.securitycenter
過程摘要:還是在MIUI手機(jī)管家里。MIUI真厲害!


簡(jiǎn)單分析,拒絕和繼續(xù)安裝還是按鈕。

直接從activity找相關(guān)執(zhí)行函數(shù):


可以看到,有一個(gè)arg3和arg4.

通過frida下log斷點(diǎn)得出 當(dāng)用戶點(diǎn)擊拒絕時(shí)arg4為-1,否則為-2.

我們看下a.a函數(shù)驗(yàn)證猜想:


果然,只有-2時(shí)參數(shù)arg3才是false,即allowed_pkg.

所以我們可以這樣寫:主動(dòng)調(diào)用onClick(null,-2),然后finish()讓窗口自己消失,這樣就達(dá)到了不用點(diǎn)擊全自動(dòng)安裝App不受限制的目的。

看代碼:


0x03 結(jié)果


App也直接成功直接安裝進(jìn)入debugger模式。


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

【Android 原創(chuàng)】MIUI 12穩(wěn)定版系統(tǒng)中的開發(fā)者選項(xiàng)限制解除的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
慈溪市| 凤山县| 克山县| 东明县| 丰宁| 西宁市| 深泽县| 铁力市| 常州市| 台江县| 阿勒泰市| 巴青县| 溧水县| 乐东| 苍南县| 呼玛县| 册亨县| 略阳县| 彩票| 汉中市| 沙田区| 定结县| 遵义县| 津市市| 福建省| 蛟河市| 凌海市| 韩城市| 江永县| 桃园县| 和平县| 桦甸市| 萍乡市| 晋中市| 开江县| 洞头县| 济源市| 鄂州市| 岫岩| 莱阳市| 桃源县|