編輯點評:應用軟件組件管理復制工具
安卓手機上可以管理軟件組件程序的一款工具,Blocker應用程序組件管理app,軟件支持三大控制器,IFW,安裝包管理和Shizuku,軟件很簡潔,沒有廣告可以免費使用,簡單方便易操作,支持調用接口等內容,需要root權限。
軟件特色
輕量級程序,不會給系統增加負擔。
易于使用,界面直觀。
兼容多種方法禁用,無付費限制。
Blocker是什么
Blocker是一款操作Android應用程序四大組件的程序。它支持多種不同的控制器控制組件,目前支持的有使用軟件包管理器方式(PackageManager)和意圖防火墻模式(Intent Firewall)。支持無縫切換使用模式,導入導出Blocker規則,導入導出純IFW規則,兼容MyAndroidTools規則導入,或是將其轉換為Intent Firewall規則導入。
模式介紹
控制模式
PM模式
PM是Package Manager的簡寫,譯為軟件包管理器。其由Android操作系統提供,主要用于查詢手機上已安裝的應用詳細信息、進行管理操作。其提供一個setComponentEnabledSetting(ComponentName, int, int)的接口,應用程序可以調用此接口來對自身組件進行狀態控制。在正常模式下,調用此接口無法對第三方應用進行操控,對非本應用進行組件控制需要有signature等級的權限。
所幸Android在Shell下提供了一個pm工具,用戶可以在命令行下對應用的組件進行操作。不過成功運行此命令需要有Root權限。
pm disable [PackageName/ComponmentName]無論是調用系統API還是在命令行調用PM工具,應用組件狀態變化最終寫入/data/system/users/0/package restrictions.xml文件下。
IFW模式
Intent Firewall(IFW, 意圖防火墻)自Android 4.4.2(API 19)版本后被引入,在目前的最新版本(Android Pie, API28)中仍然有效。Intent Firewall被集成在Android Framework中,用于過濾應用程序的啟動意圖(Intent)。
IFW能做的事
Android下發起的每一個啟動應用組件的意圖(Intent), 都需要經過此防火墻的過濾。它甚至有能力過濾系統程序發出的請求。防火墻的過濾列表定義在一個XML文件 當中,當文件發生變化,防火墻會即時更新過濾規則。
IFW的限制
基于安全考慮,只有擁有System權限的系統應用才可以直接讀取修改配置文件所在目錄,第三方應用程序無法讀取改寫過濾規則。再者,防火墻過濾規則的時候不會考慮該意圖的發送者身份,無法對意圖發起方進行條件過濾。
Shizuku模式
在Android Oreo之后,Package Manager在更改組件狀態的時候新增加了一個匹配規則,當應用程序為Test-Only版本的時候,用戶可以隨意通過命令行的PM應用程序控制應用程序組件狀態。Shizuku的API運行在Shell權限下,我們可以修改APK,將其狀態位設置為Test-Only,通過Shizuku提供的高權限API控制組件。
IFW相比于PM的優點
IFW是防火墻,新增/刪除防火墻規則對組件狀態無影響。程序探測的組件狀態是啟用,但是就是無法啟動該組件。
Package Manager是直接禁用了對應組件。若是試圖啟動被禁用的組件,程序會拋出異常退出。開發者可以根據拋出的異常或者根據探測到的組件狀態,通 過系統API重新啟用相關組件。這就是為什么使用此模式,運行軟件有的時候會崩潰,有些組件會自動啟用的原因。使用IFW模式則無此問題,不會崩潰,也不會自動啟用。
熱門評論
最新評論