Matrix 首頁推薦Matrix 是少數(shù)派的寫作社區(qū),我們主張分享真實(shí)的產(chǎn)品體驗(yàn),有實(shí)用價(jià)值的經(jīng)驗(yàn)與思考。我們會不定期挑選 Matrix 最優(yōu)質(zhì)的文章,展示來自用戶的最真實(shí)的體驗(yàn)和觀點(diǎn)。 文章代表作者個(gè)人觀點(diǎn),少數(shù)派僅對標(biāo)題和排版略作修改。 作為一個(gè)擁有和管理系統(tǒng)最高權(quán)限的應(yīng)用,Magisk App 有一定的使用門檻。差若毫厘,謬以千里,如果不清楚某個(gè)開關(guān)代表的意義,一個(gè)小小的誤操作就有可能引發(fā)無法開機(jī)的嚴(yán)重后果。本文將從官方文檔與個(gè)人經(jīng)驗(yàn)出發(fā),為大家介紹 Magisk App。 文章內(nèi)容和截圖基于 Magisk v23,涵蓋新 Magisk App 的四個(gè)主要功能:安裝和卸載 Magisk;授予應(yīng)用 Root 權(quán)限;隱藏 Magisk;獲取和管理模塊。在奔向 Magisk 的自由天地前,強(qiáng)烈建議你先閱讀此文了解少數(shù)情況下的應(yīng)對措施,這也是本文出現(xiàn)在模塊推薦文章之前的原因。如果你還不知道如何刷入 Magisk 的話,可以參考上一篇文章。 拓展閱讀:Android 玩家必備神器入門:從零開始安裝 Magisk 安裝和卸載 MagiskMagisk App 第一屏便是負(fù)責(zé) Magisk 鏡像安裝和卸載的界面。這個(gè)頁面的功能往往和具體的使用場景綁定在一起,因此,下文用四個(gè)不同的情境來介紹 App 這個(gè)界面下的幾個(gè)重要功能。 情境一:安裝 Magisk 到原系統(tǒng)上一篇 從零開始安裝 Magisk 的文章中,我們遇到的就是這種情境。結(jié)合 Ramdisk 的值,使用 Magisk 圖標(biāo)旁的「安裝」> 「選擇并修補(bǔ)一個(gè)文件」功能,Magisk 會修改我們提取的鏡像供我們用 這是 Magisk App 最為基本的用途,除了少部分新機(jī)型外,這也是刷入 Magisk 最穩(wěn)妥的方式。在每一次更新系統(tǒng)后,我們都推薦按此流程重新刷入。 情境二:Magisk 需要更新或者修復(fù)
在檢測到系統(tǒng)已經(jīng)刷入 Magisk 后,Magisk 圖標(biāo)旁的「安裝」子界面會多出一個(gè)「直接安裝」選項(xiàng)?!钢苯影惭b」會將和 App 相同版本的鏡像刷入系統(tǒng)。如果 Magisk 的一些功能莫名其妙地失效,可以嘗試使用此功能重新掛載 Magisk。 而如果需要更新的話,按照前文提到的流程,只需要先在應(yīng)用內(nèi)根據(jù)提示更新 App 本體,再點(diǎn)擊「升級」按鈕就能自動刷入。 情境三:進(jìn)行系統(tǒng) OTA系統(tǒng)在下載更新包后,會在安裝前進(jìn)行系統(tǒng)的完整性檢查。很多 Root 工具因?yàn)樾薷牧说讓游募?,?dǎo)致系統(tǒng)無法通過此項(xiàng)檢查而不能安裝 OTA。Magisk 的優(yōu)勢正是「掛載」而非「改寫」。當(dāng)然,想要完成 OTA 還需要我們的手動操作。 首先,為了防止系統(tǒng)自動安裝更新導(dǎo)致更新失敗,刷入 Magisk 后的第一步就是關(guān)閉系統(tǒng)的「自動安裝更新」選項(xiàng)。類 AOSP 的系統(tǒng)中,這個(gè)項(xiàng)目一般位于「開發(fā)者選項(xiàng)」界面;改動比較大的系統(tǒng)中,這個(gè)選項(xiàng)可能位于系統(tǒng)更新 App。 讀者應(yīng)該記得,我們在安裝 Magisk 時(shí)的確修改了系統(tǒng)的 boot.img 或者 recovery.img。因此,在收到廠商推送的更新后,我們需要點(diǎn)擊 Magisk App 首頁的「卸載 Magisk」>「還原原廠鏡像」(不要重啟)來恢復(fù)原來的鏡像。此時(shí)理論上 OTA 應(yīng)該能夠正確安裝。 下載 OTA 并安裝后,系統(tǒng)會提示重啟,重啟后我們會失去 Magisk。因而我們還需要按照上一篇文章「打包鏡像并刷入」章節(jié)中提到的提取鏡像 > 修改鏡像 > 刷入/引導(dǎo)啟動鏡像的方式再次安裝 Magisk。 和 Magisk 本體不同,模塊不需要重新安裝。Magisk 將模塊儲存在一個(gè)文件夾( 根據(jù)多年以來的刷機(jī)經(jīng)驗(yàn),分享給諸位一些重裝時(shí)的技巧:
攜 Magisk 進(jìn)行系統(tǒng) OTA 的流程可以總結(jié)為:關(guān)閉「自動安裝更新」> 收到 OTA >「卸載 Magisk」/「還原原廠鏡像」> 下載并安裝 OTA >
如果遇到無法更新的問題,嘗試不清除用戶數(shù)據(jù)的刷寫系統(tǒng)全量包方式,而后重新安裝 Magisk。一加等機(jī)型在檢測到 Magisk 后會自動下載全量包。常備全量包,翻車不慌張。 情境四:完全卸載 Magisk在「卸載 Magisk」命令下還有一個(gè)「完全卸載」,點(diǎn)擊此命令會在重啟設(shè)備后卸載一切已經(jīng)安裝的模塊和 Magisk 本身。 這個(gè)命令僅在我們想和 Magisk 說永別的時(shí)候用。想要卸載單個(gè)模塊請參考本文第四章內(nèi)容;Magisk 使設(shè)備出現(xiàn)問題時(shí),建議排查 MagiskHide 和可疑模塊,而非完全卸載。 授予應(yīng)用 Root 權(quán)限Android 是以 Linux 為內(nèi)核的系統(tǒng),在 Android 上獲取 root 類似于在 Linux 上使用了 root 帳戶。有了 root 權(quán)限,我們便能修改底層文件、注入腳本、調(diào)節(jié)系統(tǒng)性能、讀取更詳細(xì)的數(shù)據(jù)……當(dāng)然,這一切并不需要我們手動去寫腳本,我們需要做的只是通過 Magisk 將 root 權(quán)限授予給能夠完成這些事情的應(yīng)用們。 索取 root 權(quán)限的請求由應(yīng)用發(fā)起,Magisk 此時(shí)會跳出類似于 Windows UAC 的彈窗供用戶確認(rèn)。想要防止惡意應(yīng)用模擬點(diǎn)擊,可以在 Magisk App 的設(shè)置中開啟「生物識別驗(yàn)證」和「點(diǎn)按劫持保護(hù)」兩個(gè)選項(xiàng)。 授權(quán)了應(yīng)用之后,Magisk 默認(rèn)會在該應(yīng)用使用 root 權(quán)限時(shí)彈出通知,并且記錄相關(guān)的日志。這兩個(gè)選項(xiàng)隱藏在 Magisk App 的超級用戶界面中,通過單擊已授權(quán)的應(yīng)用名稱,便能找到控制通知和日志的開關(guān)。 用戶授予 root 權(quán)限是將手機(jī)的完整控制權(quán)交給這個(gè)應(yīng)用,因此請務(wù)必保證此應(yīng)用值得信任。如果你在主力機(jī)上使用 root 權(quán)限,更應(yīng)該保持克制和敬畏。 此處另外提一些關(guān)于授予 root 權(quán)限的小技巧:
拓展閱讀:在權(quán)限管理上跑過 iOS 14 和 Android 11:App Ops 4.0 上手指南、Shizuku 簡介 通過 MagiskHide 隱藏 Magisk正因?yàn)?root 權(quán)限和將要提到的模塊所帶來的潛在危害,一些涉及版權(quán)、金融、通訊功能的應(yīng)用會事先檢查系統(tǒng)是否「完整」,它們?nèi)舭l(fā)現(xiàn)系統(tǒng)已 root 或者掛載了一些模塊,會以此為由彈出警告乃至直接退出,還可能會對用戶可獲取的內(nèi)容做一些限制。為了解決這類應(yīng)用對用戶所造成的不便,Magisk 設(shè)計(jì)了 MagiskHide 功能。 首先,點(diǎn)擊 App 首頁右上方的齒輪,勾選「MagiskHide」,這時(shí),Magisk 超級用戶界面會多出一個(gè) MagiskHide 子界面。 在針對應(yīng)用隱藏 Magisk 前,我們可以先試試檢驗(yàn)設(shè)備能否能通過位于 App 首頁的「測試 SafetyNet 證明」。點(diǎn)擊位于首頁的測試按鈕,第一次測試需要下載額外的組件,測試還要求設(shè)備能正常訪問 Google,因此請確保網(wǎng)絡(luò)正常1 若出現(xiàn)網(wǎng)絡(luò)通訊上的錯(cuò)誤,Magisk App 將會提示「API 錯(cuò)誤」 。不出意外的話,不久后會彈出「通過證明」的文字。如果 basicIntegrity 沒有通過,說明系統(tǒng)鏡像完整性有問題,這一般發(fā)生在第三方 ROM 中,我們可以嘗試安裝 MagiskHide Props Config 模塊或者更換 ROM 來解決這個(gè)問題。如果 ctsProfile 沒有通過,安裝 Universal SafetyNet Fix 模塊一般能解決此問題。模塊的安裝請?zhí)D(zhuǎn)到第四章查閱。 確認(rèn) SafetyNet 測試通過后,接下來我們勾選想對其隱藏 root 事實(shí)的應(yīng)用。 一般說來,下列四類應(yīng)用常常有 root 檢測行為和反制措施:
通過自己實(shí)際遇到的問題或者是翻閱網(wǎng)絡(luò)資料,我們可以確定對哪些應(yīng)用隱藏 Magisk。在 MaigskHide 界面直接點(diǎn)擊某應(yīng)用的選擇框,Magisk 會自動為我們勾選應(yīng)用下的組件。如果在勾選之前就已經(jīng)打開過該應(yīng)用,我們可能還需要清除一次應(yīng)用的緩存乃至數(shù)據(jù)。 根據(jù)作者的說法,此功能屬于「dirty hack」,在使用時(shí)應(yīng)盡量保持克制。不含有 root 檢測機(jī)制的應(yīng)用,不建議勾選。 如果在上述設(shè)置后,還發(fā)現(xiàn)有應(yīng)用檢測到 root 權(quán)限,我們可以打開 Magisk 設(shè)置里的「隱藏 Magisk 應(yīng)用」選項(xiàng)。點(diǎn)選后,Magisk 會更改自己的應(yīng)用名,用戶需要通過搜索或者創(chuàng)建的快捷方式訪問改名后的 Magisk App。這樣能防止在低版本系統(tǒng)中,部分應(yīng)用掃描用戶應(yīng)用列表時(shí)檢測到 Magisk 進(jìn)而判定系統(tǒng)已 root。 獲取和管理模塊模塊是大部分用戶選擇安裝 Magisk 的原因,它們是一個(gè)個(gè)開箱即用的系統(tǒng)修改包或修改包的組件。模塊既可以從 Magisk App 中自動下載安裝,也可以從網(wǎng)絡(luò)下載然后手動安裝,部分擁有 root 權(quán)限的應(yīng)用還可以越過用戶的授權(quán)直接安裝模塊。 由于不同的 Android 設(shè)備差異實(shí)在太大,同樣的模塊難以保證完美適用于所有設(shè)備;不同的模塊、應(yīng)用和用戶對系統(tǒng)的其他修改有時(shí)候會產(chǎn)生沖突,進(jìn)而導(dǎo)致一系列嚴(yán)重問題;一些模塊本身也像應(yīng)用那樣,需要有一個(gè)逐漸完善的過程;也有的模塊本來就是不完整的,需要其他模塊的輔助。因此,安裝模塊千萬要遵循流程。設(shè)備出現(xiàn)問題后也不要慌,有的是簡單且易操作的解決方案。 安裝模塊的基本流程安裝模塊分三步:閱讀模塊說明 > 確認(rèn)相關(guān)依賴狀態(tài) > 安裝模塊并重啟。這三步中,最重要的當(dāng)屬第一步,因?yàn)樗苯記Q定了當(dāng)前模塊是否符合自己的需求,能不能安裝使用。下面以能在 Magisk App 找到的內(nèi)容攔截模塊 Energized Protection 為例,詳細(xì)講解這三步。 我們進(jìn)入 Magisk App 的第四屏模塊界面,利用搜索找到 Energized Protection。點(diǎn)擊模塊右下的文件夾圖標(biāo)即可閱讀它的說明。由于是從 GitHub 上獲取,如果模塊說明無法加載,你可以嘗試開啟設(shè)置中的「安全 DNS」。這些應(yīng)用內(nèi)模塊實(shí)際上都托管在 Magisk Modules 庫下,我們也可以選擇使用電腦訪問 相關(guān)的 Repo 來閱讀模塊說明。 模塊說明中最重要的是兩部分內(nèi)容:模塊的依賴和用法。許多模塊是協(xié)同其他模塊或 App 工作,在安裝這些模塊之前,必須確定相關(guān)依賴的狀態(tài)。例如,Energized Protection 告訴我們它需要 Systemless Hosts 這個(gè)模塊,Magisk 20.4 之前的版本還需要安裝 Busybox for Android NDK。它使用的方法是命令行,因而我們還需要一個(gè) Android 平臺的終端,比如說 Termux。 確認(rèn)這些依賴都裝好了之后,點(diǎn)擊「安裝」,重啟系統(tǒng),這個(gè)模塊才算安裝完成。如果安裝的模塊和你素未謀面,那么本文不建議一口氣安裝很多個(gè)。 不在 App 列表中的模塊,例如 NotoCJK,模塊說明在發(fā)布處,安裝模塊需要使用模塊界面最上方的「從本地安裝」命令,然后選擇下載的模塊壓縮包。 模塊翻車后的自救安裝模塊后手機(jī)出現(xiàn)應(yīng)用閃退、顯示錯(cuò)誤和無法開機(jī)等種種異常,大概率是使用的某個(gè)模塊出了問題。針對不同情況,目前有五種比較簡單的自救方式:
Magisk 讓設(shè)備具有了極高的自由度的同時(shí),也讓其承擔(dān)著很大的風(fēng)險(xiǎn)。但欲戴其冠,必承其重,因此本文在展示 Magisk App 的四項(xiàng)核心功能的同時(shí),也附帶闡述了如何攜 Magisk 正常進(jìn)行 OTA,如何解決模塊翻車等重要問題。 這些措施應(yīng)該能最大限度地保證設(shè)備數(shù)據(jù)的安全,不過想要防「翻車」于未然,最重要的還是提高自己的鑒別能力與信息搜集能力,謹(jǐn)慎對待那些來源可疑的模塊和應(yīng)用。 我們模塊推薦篇見。 |
|