【Android 進階】臨時卸載root和恢複root功能,androidroot

來源:互聯網
上載者:User

【Android 進階】臨時卸載root和恢複root功能,androidroot

【前言】為什麼有這個需求?

Q:首先,談談為啥想要root呢?

A:有root才能有控制權,也才能折騰很多東西,比如:刪刪流氓軟體,用用代理、軟體自動安裝等;

Q:然後,那麼為何又需要刪除root呢?

A:有時候有些工具在已經root的機器上是不能執行的啦, 但是這些功能對我們也有很大的吸引力,比如:手機打卡呀 等等牛逼的功能;如果你也想要使用這些功能,同時又想要偶爾root一下的話, 那麼恭喜你,可以通過如下的方式來搞定;

 

一 準備篇1.1 要已有root許可權

至於如何擷取root,這是最基本的了,百度一下很多工具都有一鍵root的功能;此處略過一萬字;

 

1.2 用到的終端工具

推薦使用Better Terminal Emulator Pro,免費又好用;

參考地址如下(百度手機小幫手搜尋一下就行了):

http://shouji.baidu.com/soft/item?docid=5667996&from=&f=search_app_Better%20Terminal%20Emulator%20Pro%40listsp_1_title%401%40header_all_input_btn_search

 

 

1.3 必備的知識1.3.1 關於mount

  預設啟動後的系統磁碟分割都是唯讀,所以就算你的手機已經root了,通過終端操作的時候,看到的也是唯讀,不能修改,那麼就需要重新掛載一次,主要是要掛載成可讀寫,核心指令碼如下:

mount -o remount,rw /emmc@android /system

 

1.3.2 關於可執行許可權

  簡單來說在linux角度一個程式的各種許可權是通過許可權位來設定的,核心思想是:讀許可權值為4、寫入權限值為2、執行許可權值為1,需要什麼樣的許可權,那麼就設定合適的許可權值就行了,比如你要可讀可寫可執行,那麼就是4+2+1=7;

  許可權分組,linux一個檔案許可權分了3個部分,分別是: 擁有者的許可權 擁有小組的許可權 其他人的許可權, 三個部分依次用3個8進位的數組和起來,所以一般許可權位設定的時候看起來像 777、755 這樣子的,就是所有人可讀可寫可執行 和 擁有者可讀可寫可執行、擁有該檔案的小組的所有人可讀可執行、其他人可讀可執行;

  此處額外設定一下suid和guid,故整個許可權位變成了 6755, 前面的6讓普通使用者執行su的時候感覺是root在執行一樣;

chmod 6755 /system/xbin/su

詳細的可以參考: http://blog.chinaunix.net/uid-26642180-id-3378119.html

也可以搜尋一下: suid guid 關鍵字

 

二 行動篇2.1 查看分區情況

開啟超級終端,輸入mount命令,查看當前是哪個分區掛載到了 /system這個目錄,我的系統是掛載了 /emmc@android 到 /system下,參考:

如需使用,請輸入mount查看您的磁碟分割路徑;

2.2 查看需找su路徑

一般su所在路徑是:

/system/xbin/su/system/bin/su

後續假設都在通用的 /system/xbin/su 路徑下;

2.3 準備寫指令碼2.3.1 備份原來的su程式broot.sh
#!/system/bin/sh/system/xbin/su -c "mount -o remount,rw /emmc@android /system"/system/xbin/su -c "cp /system/xbin/su /system/su"/system/xbin/su -c "mount -o remount,ro /emmc@android /system"

這個指令碼一般執行一次就可以了,也可以通過Root Explorer來實現備份!

 

2.3.2 擷取root的程式groot.sh
#!/system/bin/sh/system/su -c "mount -o remount,rw /emmc@android /system"/system/su -c "cp /system/su /system/xbin/su"/system/su -c "chmod 6755 /system/xbin/su"/system/su -c "mount -o remount,ro /emmc@android /system"

實現原理是,利用上面備份好的su,來執行以下幾步:

  • 重新掛載system分區為可讀可寫;
  • 拷貝備份的su到xbin目錄下
  • 設定合適的許可權;
  • 重新掛載分區為唯讀模式;

 

2.3.3 刪除root的程式droot.sh

特別注意,必須先參考2.3.1的指令碼備份su到/system/su目錄下,然後才能執行這個程式,不然沒了root後果自負哦;

#!/system/bin/sh/system/su -c "mount -o remount,rw /emmc@android /system"/system/su -c "mv /system/xbin/su /system/xbin/su.bak"/system/su -c "mount -o remount,ro /emmc@android /system"

實現原理是,利用上面備份好的su,來執行以下幾步:

  • 重新掛載system分區為可讀可寫;
  • 將xbin下的su重新命名為su.bak;
  • 重新掛載分區為唯讀模式;

 

三 坐享其成3.1 下載工具

基本指令碼都寫好了,到這裡來下載吧 :)

http://yunpan.cn/cfwmQui82UXZt (提取碼:c7a3)

 

3.2 執行執行個體

執行步驟詳解如下:

sh broot.sh # 備份suls -al /system/su # 檢查備份結果sh droot.sh # 刪除su,移除root許可權,特別要小心!!!保證前面備份成功啊!!!su # 檢查是否成功移除,出現not found表示移除成功了;su groot.sh # 恢複su,恢複了root許可權,恭喜 :)su # 檢查是否恢複成功,執行不報錯,前面提示符編程 '#'表示成功;exit # 退出root模式

有圖有真相!!!

 

【測試機型】 紅米Note聯通版, HM NOTE 1W;

歡迎大家交流 :)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.