androidroot源碼
A. 安卓手機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進程直接替換成需要執行的命令
B. 有android源碼的情況下怎麼開放系統的root許可權
編譯的時候選debug版本 然後編譯完成之後通過adb remout和adb root就可以了
C. 有android源碼的情況下怎麼開放系統的root許可權
現在一鍵ROOT的工具很多,推薦一鍵Root大師,ROOT成功率很高,支持機型多,而且很簡單,你可以試試。試試一鍵Root大師吧,ROOT刷機成功率都很高,而且支持很多機型。
D. 修改android哪一小部分源代碼,實現整機root
獲取Android的ROOT許可權其實很簡單,只要在Runtime下執行命令"su"就可以了。
復制代碼代碼如下:
// 獲取ROOT許可權
public void get_root(){
if (is_root()){
Toast.makeText(mCtx, "已經具有ROOT許可權!", Toast.LENGTH_LONG).show();
}
else{
try{
progress_dialog = ProgressDialog.show(mCtx,
"ROOT", "正在獲取ROOT許可權...", true, false);
Runtime.getRuntime().exec("su");
}
catch (Exception e){
Toast.makeText(mCtx, "獲取ROOT許可權時出錯!", Toast.LENGTH_LONG).show();
}
}
}
其中is_root()判斷是否已經具有了ROOT許可權。只要/system/bin/su、/system/xbin/su這兩個文件中有一個存在,就表明已經具有ROOT許可權,如果兩個都不存在,則不具有ROOT許可權。
復制代碼代碼如下:
// 判斷是否具有ROOT許可權
public static boolean is_root(){
boolean res = false;
try{
if ((!new File("/system/bin/su").exists()) &&
(!new File("/system/xbin/su").exists())){
res = false;
}
else {
res = true;
};
}
catch (Exception e) {
}
return res;
E. android app 如何用代碼實現ROOT
手機root許可權,是系統許可權的一種。很多手機都自帶很多沒用的軟體。但是自己卻不能刪除這些軟體,因為自己的許可權不夠。這時候,只要把手機ROOT一遍,就能擁有手機的最高許可權了。隨意刪除手機裡面的任何軟體。
Root許可權的獲取方式:
1.用手機連接電腦,下載一鍵root工具。
2.下載成功後,打開一鍵ROOT軟體。會出現root准備,點擊下一步,正式開始root。
3.檢查root條件,要是需要文件備份的話,一定要備份後。點擊開始ROOT。
4.root正式開始,需要幾鍾左右時間,期間可能會重啟數次,root就會完成。
5.root完成後,就可以隨意刪除手機中的垃圾應用了包括系統應用。
F. Android如何使用代碼獲得root許可權
最簡單的方法,使用一鍵root(推薦你還是使用第三方刷機工具進行破解ROOT,Z4ROOT只是給你一個方法,但是都是一樣的,那就是破解ROOT,你可以試試甜椒,卓大師,刷機精靈,網路,360,綠豆,深度刷機等等,,,如果都不行,再試試手機端破解,KINGROOT,Z4ROOT.):
1、首先下載z4root軟體並安裝到手機中,安裝完成後打開z4root軟體。
2、打開後將會出現兩個選項,第一個是臨時root,也就是reboot(重啟)後就會還原回未root狀態,第二個就是永久root了,使用第二個以後,我們重新開機也不再需要root許可權了。
3、選擇一項進入後,軟體就會自動對手機進行root,完全不用我們手工進行操作,非常得方便。
4、經過一段時間的等待之後,如果成功的話,會在軟體菜單中增加一個授權管理的圖標,有了這個圖標就表示我們的手機已經root成功了,現在你想怎麼用就怎麼用了。
不過z4root也有許多不足的地方,z4root也不是全能,並不能支持所有的安卓手機進行root,不能使用z4root進行root的椒友們只能通過其它方法進行root了。
不過,軟體法失敗率也不低,一般情況下刷機法更為可靠,互聯網上有各種機型的各種教程,因此通常情況下不建議使用軟體法。
G. 如何調試跟蹤Android Framework源代碼
本文講解如何在Eclipse中導入Android源代碼(包括Framework和Application的代碼),然後通過模擬器或真機跟蹤/調試Android的java代碼,區別於一般基於Android SDK的純應用開發,這里可以跟蹤/調試Framework中的代碼。
一、准備工作
確保機器上已經安裝並配置下列軟體環境:JDK/ Eclipse / Android SDK / ADT
即,機器上已經安裝了Eclipse下Android應用開發所需的環境。如果還未配置,移步《搭建Windows下Android應用開發環境——Eclipse/Android/ADT》。
另外,為了跟蹤調試Android源碼,你還需要有Android源碼,並有源碼的編譯環境,可以是:
虛擬機環境 虛擬機中安裝Linux,Linux下編譯Android源碼。此環境下,如果要在宿主機的Eclipse中調試,還需要把Android的源碼路徑共享出來,宿主機可訪問到;
有單獨的可編譯Android的網路環境 在你的客戶端的機器上訪問伺服器共享出來的Android的源碼路徑;
Linux環境下直接通過Eclipse跟蹤調試本機上的Android源碼。
-Xms40m
-Xmx384m
-Xms128m
-Xmx512m
注意:不管哪種工作方式,Android源碼要都是已經編譯過的,且編譯時採用的是Eng模式(vs User mode)。編譯Android Platform和Kernel的過程,可參考《Ubuntu10.10下編譯Android2.2平台》及《Ubuntu10.10下編譯Android2.2內核》。
二、基本設置
准備工作完畢之後,現在做一些基本的設置。
1. 把Android源碼路徑<Android_ROOT>下的developmentideeclipse中的.classpath文件復制到<Android_ROOT>下;如果需要在模擬器中進行調試的話,需要復制三個img(具體方法見http://wenku..com/view/26d9063c87c24028915fc366.html)
2. 修改Eclipse的設置
修改eclipse.ini文件,更改下列內容:
[plain]view plain
改為:
[java]view plain
這里增大最小Java堆大小到128MB,增大最大Java堆大小到512MB。
三、Eclipse中創建工程
1. File > New > Java Project