Android中的Permission權(quán)限機制介紹
Android 通過在每臺設(shè)備上實施了基于權(quán)限的安全策略來處理安全問題,采用權(quán)限來限制安裝應(yīng)用程序的能力。當(dāng)某個權(quán)限與某個操作和資源對象綁定在一起,我們必須獲得這個權(quán)限才能在對象上執(zhí)行操作。由于Android設(shè)計本身就是為Android開發(fā)人員著想,所以一切權(quán)限許可權(quán)由用戶決定而不是手機制造商和平臺提供商,但這不得不帶來了開發(fā)者濫用權(quán)限,黑客通過權(quán)限來進(jìn)行惡意行為的風(fēng)險,所以作為靜態(tài)分析一個app是否為惡意軟件的第一道關(guān),獲取并了解Android Permission權(quán)限意義是十分重大的。
權(quán)限策略
Android 框架提供一套默認(rèn)的權(quán)限存儲在android.anifest.permission 類中,同時也允許我們自己定義新的權(quán)限。我們在寫應(yīng)用程序時聲明權(quán)限,程序安裝時新權(quán)限被引入系統(tǒng)。權(quán)限授權(quán)在應(yīng)用程序被安裝時執(zhí)行。當(dāng)在設(shè)備上安裝應(yīng)用程序時,程序?qū)⒄埱笸瓿扇蝿?wù)必需的權(quán)限集合。被請求的權(quán)限列單顯示在設(shè)備屏幕上以待用戶審查只有用戶同意授權(quán)后,程序才會被安裝,該應(yīng)用程序獲得所有被請求的權(quán)限。所以,Android 系統(tǒng)實施的主要安全準(zhǔn)則是應(yīng)用程序只有得到權(quán)限許可后,才能執(zhí)行可能會影響到系統(tǒng)其它部分的操作。
每個權(quán)限被定義成一個字符串,用來傳達(dá)權(quán)限以執(zhí)行某個特殊的操作。所有權(quán)限可以分為兩個類別:一種是執(zhí)行程序時被應(yīng)用程序所請求的權(quán)限,一種是應(yīng)用程序的組件之間通信時被其它組件請求的權(quán)限。開發(fā)者通過在AndroidManifest.xml文件中編寫權(quán)限標(biāo)簽來定義以上兩種類別的權(quán)限策略。
權(quán)限聲明
應(yīng)用程序可以用一個<permission>元素來聲明權(quán)限, 用于限制訪問特定組件或應(yīng)用程序 在安裝程序時, 這個已聲明的權(quán)限被加入到系統(tǒng)中,具體可以參看:Android 自定義權(quán)限
權(quán)限請求
應(yīng)用程序列出所有需要用來完成任務(wù)的權(quán)限,分別用 <use-permission>元素標(biāo)識這些權(quán)限。在程序安裝時被請求,列表顯示在屏幕上用戶要么同意安裝,要么中止安裝。同意安裝則意味著授權(quán)所有被請求的權(quán)限。
獲取權(quán)限
獲取權(quán)限,是我們靜態(tài)分析某個app的第一關(guān),通過知道app所具有的權(quán)限,我們一般能夠基本知道該app或許會有那些行為。
工具:目前已有多個工具可以靜態(tài)檢測Android app所具有的Permissions,這類工具有:aapt、apktool、androguard等等;
相關(guān)文章
Android實現(xiàn)將View保存成Bitmap的方法
這篇文章主要介紹了Android實現(xiàn)將View保存成Bitmap的方法,涉及Android畫布Canvas、位圖bitmap及View的相關(guān)使用技巧,需要的朋友可以參考下2016-06-06
Android Bitmap的截取及狀態(tài)欄的隱藏和顯示功能
Bitmap是Android系統(tǒng)中的圖像處理中最重要類之一。Bitmap可以獲取圖像文件信息,對圖像進(jìn)行剪切、旋轉(zhuǎn)、縮放,壓縮等操作,并可以以指定格式保存圖像文件。這篇文章主要介紹了Android Bitmap的截取及狀態(tài)欄的隱藏和顯示功能,需要的朋友可以參考下2017-11-11
總結(jié)Android App內(nèi)存優(yōu)化之圖片優(yōu)化
網(wǎng)上有很多大拿分享的關(guān)于Android性能優(yōu)化的文章,主要是通過各種工具分析,使用合理的技巧優(yōu)化APP的體驗,提升APP的流暢度,但關(guān)于內(nèi)存優(yōu)化的文章很少有看到。下面是我在實踐過程中使用的一些方法,很多都是不太成熟的項目,只是將其作為一種處理方式分享給大家。2016-08-08
Android ScrollView只能添加一個子控件問題解決方法
這篇文章主要介紹了Android ScrollView只能添加一個子控件問題解決方法,涉及Android界面布局的相關(guān)技巧,需要的朋友可以參考下2016-02-02
Android動態(tài)權(quán)限申請實現(xiàn)步驟分解
對于一些危險權(quán)限在AndroidManifest清單文件中申請之后,還需要得到用戶的許可并打開,才算是真正的開啟了這個權(quán)限。所以可以使用動態(tài)申請權(quán)限,對于某個功能,如果需要開啟某個權(quán)限,在用戶使用它之前,彈窗提示用戶是否要開啟這個權(quán)限2023-04-04

