Android系統root破解原理分析

來源:互聯網
上載者:User

    
現在Android系統的root破解基本上成為大家的必備技能!網上也有很多中一鍵破解的軟體,使root破解越來越容易。但是你思考過root破解的
原理嗎?root破解的本質是什麼呢?難道是利用了Linux kernal的漏洞嗎?本文將簡單對root的破解原理進行分析。

     網上有一篇文章已經對root破解的基本原理進行了簡單介紹,大家可以先參考一下《android root許可權破解分析》,本文只能說對root原理進行了方向性的描述,但是在一些具體的方面沒有描述清楚。本文將會對其進行一些必要的擴充和補充。

     如果你進行過程式開發,在root過的手機上面獲得root許可權的代碼如下:

   1: Process process = Runtime.getRuntime().exec("su");
   2: DataOutputStream os = new DataOutputStream(process.getOutputStream());
   3: ......
   4: os.writeBytes("exit\n");
   5: os.flush();

     從上面代碼我們可以看到首先要運行su程式,其實root的秘密都在su程式中,《android root許可權破解分析》中講到Android系統預設的su程式只能root和shell可以用運行su,這個是安全的。如果把這個限制拿掉,就是root破解了!

     下面我們仔細分析一下程式是怎樣獲得root許可權的,如果對Linux的su命令熟悉的朋友可能知道su程式都設定SUID位,我們查看一下My Phone(已經root破解)上的su使用權限設定,

      我們發現su的所有者和所有組都是root,是其實是busybox的軟連結,我們查看busybox的屬性探索,其設定了SUID和SGID,並且所有者和所有組都是root。SUID和SGID的作用是什麼呢?如果你不太清楚,請參考《Linux進程的實際使用者ID和有效使用者ID》,這樣運行busybox的普通使用者,busybox運行過程中獲得的是root的有效使用者。su程式則是把自己啟動一個新的程式,並把自己許可權提升至root(我們前面提到su其實就是busybox,運行期它的許可權是root,當然也有許可權來提升自己的許可權)。

     再強調一下不光root手機上su需要設定SUID,所有的Linux系統上的su程式都需要設定SUID位。請參考一下UC伺服器的su的許可權情況:

     我們發現su也設定了SUID位,這樣普通使用者也可以運行su程式,su程式會驗證root密碼,如果正確su程式可以把使用者權限提高的root(因為其設定SUID位,運行期是root許可權,這樣其有許可權提升自己的許可權)。

    
這樣我們就可以看出其實Android系統的破解的根本原理就是替換掉系統中的su程式,因為系統中的預設su程式需要驗證實際使用者權限(只有root和
shell使用者才有權運行系統預設的su程式,其他使用者運行都會返回錯誤)。而破解後的su將不檢查實際使用者權限,這樣普通的使用者也將可以運行su程式,
也可以通過su程式將自己的許可權提升。

    
到這裡大家對root破解不感到神秘了吧。root破解沒有利用什麼Linux核心漏洞(Linux核心不可能有這麼大的漏洞存在),可以理解成root
破解就是在你系統中植入“木馬su”,說它是“木馬”一點兒都不為過,假如惡意程式在系統中運行也可以通過su來提升自己的許可權的這樣的結果將會是災難性
的。所以一般情況下root過手機都會有一個SuperUser應用程式來讓使用者管理允許誰獲得root許可權,也算是給系統加了一層保險吧!

     如上是Simon的個人對root破解的一些認識,如果有錯誤的地方,歡迎朋友們指正。

原文

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.