androidsu源碼
『壹』 安卓系統root許可權的獲取,是需要源碼嗎什麼教你獲取手機的root就不要回答了,我要的是系統的,需要資料!
只需要su文件就行啊
『貳』 android系統到底有沒有su
沒有,真的,不騙你。
『叄』 android系統放開su許可權後如何驗證
android系統放開su許可權後找得對應代碼一一對應後即可驗證。根據查詢相關公開信息顯示,android系統放開su許可權後可以卸載手機中占內存的無用的自帶軟體,開放su後參數傳入命令行,在方法體中執行。具體的命令行,再需要的時候去找對應的命令即可。
『肆』 怎麼用代碼判斷android手機是否開啟了ROOT許可權
android手機開啟了root許可權,主要是根據root之後,獲取了手機的最高許可權,底層linux系統就會生成一個以su結尾的文件,su代表super超級許可權,如下代碼:
/**
* 判斷當前手機是否有ROOT許可權
* @return
*/
public boolean isRoot(){
boolean bool = false;
try{
if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){
bool = false;
} else {
bool = true;
}
Log.d(TAG, "bool = " + bool);
} catch (Exception e) {
}
return bool;
}
android底層是使用linux進行編譯和一些驅動、網路管理的,所以可以根據linux的許可權特性來判斷是否root,許可權的管理在linux裡面很多,包括讀寫、刪除文件的許可權,也有關於訪問網路的許可權,這些許可權都需要開通才能有。
『伍』 安卓系統手機su程序是做什麼呢,版本太低如何更新
su是Linux 切換root用戶的命令,android 是linux內核因此可以執行一些linux命令。
su版本過低需要重新刷入root許可權,因為刷入root許可權就是向手機上安裝一個su命令
Root許可權的獲取方式:
1.用手機連接電腦,下載一鍵root工具。
2.下載成功後,打開一鍵ROOT軟體。會出現root准備,點擊下一步,正式開始root。
3.檢查root條件,要是你需要文件備份的話,一定要備份後。點擊開始ROOT。
3.root正式開始,需要幾鍾左右時間,期間可能會重啟數次,root就會完成。
4.root完成後,你就可以隨意刪除你手機中的垃圾應用了包括系統應用。
『陸』 請教Android Runtime.getRuntime.exec 執行命令 許可權問題
Runtime.getRuntime().exec()只能執行許可權以內的指令。
手機root後,且應用申請root許可權後才能執行所有指令。
(注意模擬器並沒有root,因為su命令沒有開放許可權,要改android源碼,去掉su.c里的許可權限制才真正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進程直接替換成需要執行的命令
『捌』 怎樣查看 Android APP源代碼
將apk文件拷貝至sdcard上。
命令順序如下:
進入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時就可以看到你安裝的所有的apk文件。輸入cp 空格 對應的apk 空格 /sdcard/
這樣就將apk文件拷貝出來了。
將apk文件後綴直接變成rar格式,可以看到熟悉的目錄結構了,
其中xml文件打開後都是二進制的,無法查看。
這時就用到了一個android4me的AXMLPrinter2工具。(請自行網路搜索)
輸入以下命令,將xml文件解析出來
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml > h.xml
目前進行到這一步,只能看到xml文件的內容,其工程中的java源文件還是看不到,看目錄結構下有一個classes.dex文件,我們需要將dex文件變為jar文件。
這里用到了另一個工具dex2jar。(自行搜索下載)
在Windows下解壓之後的目錄如下圖所示:
在命令行中,進入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:classes.dex
運行完之後,在C盤會多一個classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請自行搜索下載)
它分為Windows、Linux、和max三個版本,這里我下載的是Windows版本的。
解壓之後,雙擊運行exe文件,選擇classes.dex.dex2jar.jar文件,相應的jar文件中的Java文件就被反向工程顯示出來了!
『玖』 怎麼編譯su文件,如何執行android.mk
沒有編譯過su的,不過正常的編譯的話,需要Android源碼環境。
1、在根目錄下執行source build/envsetup.sh
2、執行lunch選擇編譯的平台,這個是基於你的平板或者手機的
3、make -j8.
如果你要編譯在framework需要把你的android.mk文件路徑寫到framework/base里的.mk里
如果是編譯的是apk的話,在源碼編譯完成後,可以直接在你的apk目錄下,執行mm -B.