Android 6.0 Root 必備:修改 sepolicy安全策略


從Android 6.0開始,Root變得沒有以前那么容易了。6.0之前,對於以前的手機,Root其實很簡單,只需要官方解鎖,刷入第三方Recovery(如TWRP Recovery),然后通過Recovery刷入SuperSU包即可。

然而,到了6.0,如果還是這么做,手機會卡第一屏。這是由於Google對Android 6.0修改了新的安全機制導致的。解決卡屏的方法,SuperSU的作者已經給出,就是給boot.img里ramdisk下的sepolicy打補丁。

雖然,最新測試版的SuperSU已經試圖加入自動修改sepolicy,但現在還處於早期,可能會存在不穩定因素。而且2.6x的SuperSU不再將su和SuperSU.apk放在/system下,而是轉而放到/data下,這樣會導致一旦wipe data,Root就沒了。

這里提供2.7x版本SuperSU的主帖,想研究的可以去看下:http://bbs.zecoki.com/thread-16496-1-1.html

因此,在SuperSU新版進入正式階段,現在比較好的方法還是SuperSU 2.52配修改版boot.img(即sepolicy打過補丁的boot.img)。

下面就來講下sepolicy的修改方法。

首先提供之后會用到的工具:

adb工具:需要的轉到http://bbs.zecoki.com/thread-16659-1-1.html

你還需要另一台Android手機,系統版本4.4+,且已經使用SuperSU 2.50或更高版本獲取了Root權限。

下面是具體步驟:

1、使用Android Image Kitchen解包想要Root的系統里的boot.img

2、在ramdisk文件夾下獲取sepolicy文件,並將該文件放到adb工具所在文件夾中

3、將已經Root的手機連接電腦,並打開USB調試

4、電腦端運行CMD,並cd到adb所在目錄,執行:

  1. adb push sepolicy /data/local/tmp/sepolicy

 

如果提示沒有權限,也可以手動把sepolicy文件拷貝到手機里,然后通過RE管理器等軟件移動到/data/local/tmp/sepolicy或其他路徑,如果在其他路徑,后面執行的命令也需要對應修改

5、繼續執行:

  1. adb shell su -c "supolicy --file /data/local/tmp/sepolicy /data/local/tmp/sepolicy_out"
  2. adb shell su -c "chmod 0644 /data/local/tmp/sepolicy_out"



6、再執行:

  1. adb pull /data/local/tmp/sepolicy_out sepolicy_out

 

或者去該目錄下將其拷貝出來

7、獲取的sepolicy_out文件即為修改好的sepolicy,將其改名成sepolicy,替換到ramdisk下

8、通過Android Image Kitchen打包boot.img

至此,修改完成。接下來,你只需要將修改好的boot.img和SuperSU 2.52刷入手機即可獲取Root權限了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM