歡迎轉載,轉載請註明:http://blog.csdn.net/zhgxhuaa
說明
由於自己一直以來對手機管理方面的東西比較感興趣,加上最近以來老大的驅動,所以決定研究整理一下root相關技術(不侷限於root)。手機Root是一門大學問,root的招數各有不同。Root權限的利用同樣也是一門學問。接下來將學習研究一下Android中root相關技術。如何取得root權限不是我的特長,所以接下來的整理中,將重點研究整理在獲取root權限以後,可以做那些事情,已達到通過root權限優化用戶體驗的目的。
- n 由於涉及到的內容較多,需要投入大量的精力和時間。在整理時會優先整理跟平時工作中聯繫相對緊密的,然後再整理其他的。
- n 本系列的所有文章均是基於應用開發的角度進行分析,很多功能在系統(ROM)層次可能有更好的實現方式,這裏暫時不做介紹。
- n 本系列涉及到的大部分Android系統源碼是基於Android4.4的。
- n 本系列整理的內容都是手機管理類應用(電子市場、手機助手、手機管家等)的一些通用功能,因此在整理時統稱“手機管理類軟件”,並不特別突出“應用寶”字樣。
- n 文章的整理儘量抱着章節清除的原則,採用博客體語音進行整理,方便大家閱讀和交流。
- n 發現身邊的很多朋友在研究手機管理類軟件的功能特性的時候,喜歡上來就拿競品應用來發編譯分析。我承認反編譯分析競品是一種快速有效的學習方式,且不說現在隨着混淆和各種應用加固手段的推出,反編譯的成本原來越高,個人認爲這並不是一種良好的學習方式,在學習時我們還是應該從根本的原理上去分析問題。所以,雖然自身水平和知識有限,本系列文章中我還是希望能夠從系統和源碼的角度跟大家一起去學習。
Root的原理
Root本身是指Linux系統的root帳戶,該帳戶擁有整個系統至高無上的權利,系統中的所有對象它都可以操作,對於Android手機用戶來說的Root是指擁有Root權限,一般情況下,手機廠商出於安全考慮會關閉手機的Root權限,手機系統是運行在普通用戶權限下的,用戶是無法操作系統中的文件與數據的。因此,目前獲取root的方法都是利用系統漏洞實現的。而不同手機廠商可能存在的漏洞不同,也就導致了不同手機root的原理可能不同。不過,不管採用什麼原理實現root,最終都需要將su可執行文件複製到Android系統的/system分區下(例如:/system/xbin/su
)
並用chmod命令爲其設置可執行權限和setuid權限。爲了讓用戶可以控制root權限的使用,防止其被未經授權的應用所調用,通常還有一個Android應用程序來管理su程序的行爲。root的基本原理就是利用系統漏洞,將su和對應的Android管理應用複製到/system分區。
目前最廣泛利用的系統漏洞是zergRush,該漏洞適用於Android2.2-2.3.6的系統,其它的漏洞還有Gingerbreak, psneuter等等。
獲取Root的漏洞
Root的獲取不同手機利用的漏洞不同。這裏蒐集了幾個常見的用於獲取root權限的漏洞。
http://blog.csdn.net/hikame/article/details/8713297
http://www.kanxue.com/bbs/showthread.php?t=175129
http://blog.csdn.net/androidsecurity/article/details/13293789
http://security.tencent.com/index.php/blog/msg/26
Root後的應用
1、 安裝/卸載:
A、 靜默安裝/卸載
B、 秒裝/秒卸載
C、 卸載應用保存數據
D、 系統內置應用卸載
E、 卸載後清除殘留數據
F、 批量靜默安裝/卸載
2、 數據備份:
A、 應用安裝包的備份
B、 應用數據的備份
C、 系統數據備份
3、 垃圾清理,包括:
A、 內存加速:清理正在運行的進程
B、 限制後臺啓動
C、 應用卸載後清理殘留數據
D、 應用緩存(data目錄下的)
E、 一鍵加速
4、 控制通知欄:
A、 對第三方應用的通知進行攔截和清理
B、 主要實現原理爲:進程注入
5、 開機自啓動:
A、 通過設置優先級和接收開機廣播啓動Service,監控到其他開機啓動服務則幹掉
B、 進程注入。
6、 屏蔽廣告:
A、 host黑名單方式(Adblock Plus爲代表)
B、 進程注入方式(手機金山毒霸爲代表)
7、 省電控制:
A、 控制CPU頻率
B、 後臺喚醒控制
C、 鎖屏時殺掉後臺常駐Service等。
8、 聯網控制:
A、 原理:iptable
B、 控制應用在WiFi和移動互聯網時的網絡訪問情況
9、 系統僞裝:
A、 僞裝手機型號
B、 僞裝地理位置
C、 僞裝運營商
10、 應用權限控制
A、 禁用應用的某些權限
B、 監控第三方應用權限
11、 獲取和修改系統信息
A、 獲取系統配置信息
B、 獲取dump等log信息
C、 修改手機開關機動畫
D、 修改手機開關機鈴聲
E、 修改手機字體