當前位置:編程學習大全網 - 源碼下載 - 安卓手機root權限獲取的工作原理是什麽?

安卓手機root權限獲取的工作原理是什麽?

首先明白幾點

1. su是壹個elf可執行文件,superUser是用來和su配合的root授權管理軟件。

2. 要執行su(其他程序獲取root權限默認執行su)必須將su放在系統環境變量裏,bin和xbin目錄,其他地方妳需要加全路徑

3. bin和xbin目錄在system分區,默認只讀,所以要寫入su必須重新掛在該分區為可寫

知道這些再說如何root

1. 通過漏洞將自己進程提權到root權限,具體做法要去了解漏洞利用原理

2. 進程獲取root權限後重新掛載system分區可讀寫

3. 然後將su拷貝到bin目錄或者xbin目錄,由於su的所有者提權進程已經是root進程,所以su也具有root屬性。然後設置su文件755屬性,即所有者可讀可寫可執行,所在組和其他用戶可讀可執行,同時為了讓壹般用戶在執行某些程序的時候,能夠暫時具有該程序擁有者的權限,所以需要設置s標誌位,即其他評論提到的chmod 4755 su,superuser拷貝system目錄並安裝,放在system目錄下作為系統應用,防用戶刪除

4. 這樣其他程序調用su以後,先要經過superuser同意,用戶點同意後,由於su擁有者為root所以其進程也擁有root權限,相應的它執行的命令也都是有root權限, 詳細的做法可去github搜su源碼閱讀,最後執行的壹句`execv(ctx->to.shell, ctx->to.argv + argc);`通過驗證後將su進程直接替換成需要執行的命令

  • 上一篇:如何檢查mysql數據庫enforce
  • 下一篇:深圳東部華僑城的主要板塊
  • copyright 2024編程學習大全網