android 破解-android 升級安全權限機制
Android本身是一個權限分立的android應用程式操作系統。在這類操作系統中,每個應用都以唯一的一個系統識別身份運行(Linux用戶ID與群組ID)。系統的各部分也分別使用android 破解各自獨立的識別方式。Linux就是這樣將應用與應用,應用與系統隔離開。 系統android軟體下載更多的安全功能通過權限機制提供。權限可以限制某個特定進程的特定操作,也可以限制每個URI權限對特定數據段的訪問。 Android安全架構的核心設計思想是,在默認設置下,所有應用都沒有權限對其他應用、系統或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數據(聯系人或電子郵件),讀寫其他應用文件,訪問網絡或阻止設備待機等。 安裝應用時,在檢查程序簽名提及的權限,且經過用戶確認後,軟件包安裝器會android作業系統給予應用權限。從用戶角度看,一款Android應用通常會要求如下的權限: 撥打電話、發送短信或彩信、修改/刪除SD卡上的內容、讀取聯系人的信息、讀取日程信的息,寫入日程數據、讀取電話狀態或識別碼、精確的(基于GPS)地理位置、模糊的(基于網絡獲取)地理位置、創建藍牙連接、對互聯網的完全訪問、查看網絡狀態,查看WiFi狀態、避免手機待機、修改系統全局設置android軟體、讀取同步設定、開機自啓動、重啓其他應用、終止運行中的應用、設定偏好應用android 升級、震動控制、拍攝圖片等。 一款應用應該根據自身提供的功能,要求合理的權限。用戶也可以分析一款應用所需權限,從而簡單判定這款應用是否安全。如一款應用是不帶廣告的單機版,也沒有任何附加的內容需要下載,那麽它要求訪問網絡的權限就比較可疑。硬件抽像層
Android 的 HAL(硬件抽像層)是能以封閉源碼形式提供硬件驅動模塊。HAL 的目的是爲了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過android軟體推薦度依賴 Linux kernel,以達成 kernel independent 的概念,也讓 Android framework 的開發能在不考量驅動程序實現的前提下進行發展。 HAL stub 是一種代理人(proxy)的概念,stub 是以 *。so 檔的形式存在。Stub 向 HAL“提供”操作函數(operations),並由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 這些操作函數。HAL �堨]含了許多的 stub(代理人)。Runtime 只要說明“類型”,即 module ID,就可以取得操作函數。
內核
Android 是運行于 Linux kernel之上,但並不是GNU/Linux。因爲在一般GNU/Linux �堣銕貜漸\能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 爲了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 並非標准的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所産生的,這樣做是爲了保留常數、數據結構與宏。 目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網絡堆棧(Network Stack),驅動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
|