編輯:關於Android編程
之前研究了1.x版本的LBE的一些實現安全監控的原理,基本摸清了它實現聯網權限管理的原理,這裡做個簡單記錄。
首先要介紹一下Android應用程序啟動的過程,這方面可以查閱一些相關資料了解詳細信息,我這裡只一筆帶過,例如啟動一個apk的進程,肯定會向system_server發送消息,包括啟動進程的一些參數,其中有一項參數是“--setgroups=xxx,xxx,xxx",後面的xxx都是一些整型的值,就是對應到Android的一些權限定義,其中3003(0xBBB)就是對應的聯網權限了。 www.2cto.com
那麼1.x版本實現的原理就呼之欲出了,hook到system_server進程,攔截sendmsg函數,解析其中的參數,如果是啟動進程的參數,通過uid查詢用戶是否允許該進程聯網,不允許聯網的,就替換setgroups裡面的相關權限,3003替換為9999,之後再交給真正的sendmsg函數去處理,然後你就發現你啟動的進程是沒有聯網權限的了。
這種實現方式的弊端也很明顯,不是在hook之後啟動的進程不會受到影響。已經啟動的進程,不能實時修改它的聯網權限。
那麼怎麼樣才能夠解決這些問題呢?
用iptable實現聯網權限管理,google code上有一開源項目droidwall,有興趣的朋友,可以自行研究一下,目前看LBE和360相關功能應該都是與droidwall類似的實現,至於是否是從droidwall學習的,就不得而知了。
前言學會了OkHttp3的用法後,我們當然有必要來了解下OkHttp3的源碼,當然現在網上的文章很多,我仍舊希望我這一系列文章篇是最簡潔易懂的。1.從請求處理開始分析當我
這篇文章將給大家介紹android圖片處理的高效做法,大家有需求的時候可以參考一下。首先我要說明一下本實例中實現的效果(我還不會制作gif圖,如果誰會的話,希望可以教一下
目前針對公司Android端的SDK進行實際測試,反映出存在網絡加載資源緩慢的問題,在知曉目前CDN的可能存在不穩定的情況下,針對sdk本身的網絡模塊進行了相應的分析,整
導航抽屜(navigationdrawer)是一個從屏幕左邊滑入的面板,用於顯示應用的主要導航項目。用戶可以通過在屏幕左邊緣滑入或者觸摸操作欄的應用圖標打開導航抽屜。導航